WebKit Bugzilla
Attachment 357266 Details for
Bug 192684
: Add the JSC_traceBaselineJITExecution option for tracing baseline JIT execution.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed patch.
bug-192684.patch (text/plain), 3.18 KB, created by
Mark Lam
on 2018-12-13 15:45:30 PST
(
hide
)
Description:
proposed patch.
Filename:
MIME Type:
Creator:
Mark Lam
Created:
2018-12-13 15:45:30 PST
Size:
3.18 KB
patch
obsolete
>Index: Source/JavaScriptCore/ChangeLog >=================================================================== >--- Source/JavaScriptCore/ChangeLog (revision 239184) >+++ Source/JavaScriptCore/ChangeLog (working copy) >@@ -1,3 +1,18 @@ >+2018-12-13 Mark Lam <mark.lam@apple.com> >+ >+ Add the JSC_traceBaselineJITExecution option for tracing baseline JIT execution. >+ https://bugs.webkit.org/show_bug.cgi?id=192684 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This dataLogs the bytecode execution order of baseline JIT code when the >+ JSC_traceBaselineJITExecution option is true. >+ >+ * jit/JIT.cpp: >+ (JSC::JIT::privateCompileMainPass): >+ (JSC::JIT::privateCompileSlowCases): >+ * runtime/Options.h: >+ > 2018-12-13 Devin Rousso <drousso@apple.com> > > Web Inspector: remove DOM.BackendNodeId and associated commands/events >Index: Source/JavaScriptCore/jit/JIT.cpp >=================================================================== >--- Source/JavaScriptCore/jit/JIT.cpp (revision 239079) >+++ Source/JavaScriptCore/jit/JIT.cpp (working copy) >@@ -44,6 +44,7 @@ > #include "MaxFrameExtentForSlowPathCall.h" > #include "ModuleProgramCodeBlock.h" > #include "PCToCodeOriginMap.h" >+#include "ProbeContext.h" > #include "ProfilerDatabase.h" > #include "ProgramCodeBlock.h" > #include "ResultType.h" >@@ -269,6 +270,14 @@ void JIT::privateCompileMainPass() > updateTopCallFrame(); > > unsigned bytecodeOffset = m_bytecodeOffset; >+#if ENABLE(MASM_PROBE) >+ if (UNLIKELY(Options::traceBaselineJITExecution())) { >+ CodeBlock* codeBlock = m_codeBlock; >+ probe([=] (Probe::Context& ctx) { >+ dataLogLn("JIT [", bytecodeOffset, "] ", opcodeNames[opcodeID], " cfr ", RawPointer(ctx.fp()), " @ ", codeBlock); >+ }); >+ } >+#endif > > switch (opcodeID) { > DEFINE_SLOW_OP(in_by_val) >@@ -493,6 +502,17 @@ void JIT::privateCompileSlowCases() > if (m_disassembler) > m_disassembler->setForBytecodeSlowPath(m_bytecodeOffset, label()); > >+#if ENABLE(MASM_PROBE) >+ if (UNLIKELY(Options::traceBaselineJITExecution())) { >+ OpcodeID opcodeID = currentInstruction->opcodeID(); >+ unsigned bytecodeOffset = m_bytecodeOffset; >+ CodeBlock* codeBlock = m_codeBlock; >+ probe([=] (Probe::Context& ctx) { >+ dataLogLn("JIT [", bytecodeOffset, "] SLOW ", opcodeNames[opcodeID], " cfr ", RawPointer(ctx.fp()), " @ ", codeBlock); >+ }); >+ } >+#endif >+ > switch (currentInstruction->opcodeID()) { > DEFINE_SLOWCASE_OP(op_add) > DEFINE_SLOWCASE_OP(op_call) >Index: Source/JavaScriptCore/runtime/Options.h >=================================================================== >--- Source/JavaScriptCore/runtime/Options.h (revision 239079) >+++ Source/JavaScriptCore/runtime/Options.h (working copy) >@@ -507,6 +507,7 @@ constexpr bool enableWebAssemblyStreamin > v(bool, useTracePoints, false, Normal, nullptr) \ > v(bool, traceLLIntExecution, false, Configurable, nullptr) \ > v(bool, traceLLIntSlowPath, false, Configurable, nullptr) \ >+ v(bool, traceBaselineJITExecution, false, Normal, nullptr) \ > > > enum OptionEquivalence {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192684
: 357266