diff options
Diffstat (limited to 'Source/JavaScriptCore/profiler/ProfilerCompilation.h')
-rw-r--r-- | Source/JavaScriptCore/profiler/ProfilerCompilation.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/profiler/ProfilerCompilation.h b/Source/JavaScriptCore/profiler/ProfilerCompilation.h index dc2810525..1e058627c 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-2014, 2016 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -23,22 +23,27 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef ProfilerCompilation_h -#define ProfilerCompilation_h +#pragma once #include "ExitKind.h" #include "JSCJSValue.h" #include "ProfilerCompilationKind.h" #include "ProfilerCompiledBytecode.h" #include "ProfilerExecutionCounter.h" +#include "ProfilerJettisonReason.h" #include "ProfilerOSRExit.h" #include "ProfilerOSRExitSite.h" #include "ProfilerOriginStack.h" #include "ProfilerProfiledBytecodes.h" +#include "ProfilerUID.h" #include <wtf/RefCounted.h> #include <wtf/SegmentedVector.h> -namespace JSC { namespace Profiler { +namespace JSC { + +class FireDetail; + +namespace Profiler { class Bytecodes; class Database; @@ -63,15 +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*); + + UID uid() const { return m_uid; } + + void dump(PrintStream&) const; 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, std::unique_ptr<ExecutionCounter>> m_counters; @@ -80,9 +93,7 @@ private: unsigned m_numInlinedGetByIds; unsigned m_numInlinedPutByIds; unsigned m_numInlinedCalls; + UID m_uid; }; } } // namespace JSC::Profiler - -#endif // ProfilerCompilation_h - |