diff options
Diffstat (limited to 'Source/JavaScriptCore/profiler/ProfilerCompilation.h')
-rw-r--r-- | Source/JavaScriptCore/profiler/ProfilerCompilation.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/Source/JavaScriptCore/profiler/ProfilerCompilation.h b/Source/JavaScriptCore/profiler/ProfilerCompilation.h index b3183fa02..b358b659c 100644 --- a/Source/JavaScriptCore/profiler/ProfilerCompilation.h +++ b/Source/JavaScriptCore/profiler/ProfilerCompilation.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012, 2013 Apple Inc. All rights reserved. + * Copyright (C) 2012, 2013, 2014 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -31,6 +31,7 @@ #include "ProfilerCompilationKind.h" #include "ProfilerCompiledBytecode.h" #include "ProfilerExecutionCounter.h" +#include "ProfilerJettisonReason.h" #include "ProfilerOSRExit.h" #include "ProfilerOSRExitSite.h" #include "ProfilerOriginStack.h" @@ -38,7 +39,11 @@ #include <wtf/RefCounted.h> #include <wtf/SegmentedVector.h> -namespace JSC { namespace Profiler { +namespace JSC { + +class FireDetail; + +namespace Profiler { class Bytecodes; class Database; @@ -63,18 +68,23 @@ public: CompilationKind kind() const { return m_kind; } void addDescription(const CompiledBytecode&); + void addDescription(const OriginStack&, const CString& description); ExecutionCounter* executionCounterFor(const OriginStack&); void addOSRExitSite(const Vector<const void*>& codeAddresses); OSRExit* addOSRExit(unsigned id, const OriginStack&, ExitKind, bool isWatchpoint); + void setJettisonReason(JettisonReason, const FireDetail*); + JSValue toJS(ExecState*) const; private: Bytecodes* m_bytecodes; CompilationKind m_kind; + JettisonReason m_jettisonReason; + CString m_additionalJettisonReason; Vector<ProfiledBytecodes> m_profiledBytecodes; Vector<CompiledBytecode> m_descriptions; - HashMap<OriginStack, OwnPtr<ExecutionCounter> > m_counters; + HashMap<OriginStack, std::unique_ptr<ExecutionCounter>> m_counters; Vector<OSRExitSite> m_osrExitSites; SegmentedVector<OSRExit> m_osrExits; unsigned m_numInlinedGetByIds; |