X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/93a3786624b2768d89bfa27e46598dc64e2fb70a..HEAD:/profiler/ProfilerCompilation.h diff --git a/profiler/ProfilerCompilation.h b/profiler/ProfilerCompilation.h index b3183fa..b358b65 100644 --- a/profiler/ProfilerCompilation.h +++ b/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 #include -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& 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 m_profiledBytecodes; Vector m_descriptions; - HashMap > m_counters; + HashMap> m_counters; Vector m_osrExitSites; SegmentedVector m_osrExits; unsigned m_numInlinedGetByIds;