Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bccc78c952d78f6a940a1334dd44def586ea1423
https://github.com/WebKit/WebKit/commit/bccc78c952d78f6a940a1334dd44def586ea1423
Author: Yusuke Suzuki <[email protected]>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M Source/JavaScriptCore/assembler/LinkBuffer.cpp
M Source/JavaScriptCore/assembler/LinkBuffer.h
M Source/JavaScriptCore/assembler/PerfLog.cpp
M Source/JavaScriptCore/assembler/PerfLog.h
M Source/JavaScriptCore/dfg/DFGGraph.cpp
M Source/JavaScriptCore/dfg/DFGGraph.h
M Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
M Source/JavaScriptCore/dfg/DFGJITCompiler.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/ftl/FTLCompile.cpp
M Source/JavaScriptCore/ftl/FTLState.cpp
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
Log Message:
-----------
[JSC] Add IRDump option with JITDump
https://bugs.webkit.org/show_bug.cgi?id=309344
rdar://171891036
Reviewed by Keith Miller.
This patch adds useIRDump and irDumpDirectory options.
They are effective only when useJITDump is enabled.
When it is enabled, we generate IRDump, which is just a very simple
sequence of DFG IR as a file. And we also generate JITDump's
JITCodeDebugInfo with this file. This debug info can associate a JIT
code range to a file line & column. By using them, we associate JIT code
with this on-the-fly generated IRDump files so profiler can show samples
in IRDump as well.
* Source/JavaScriptCore/assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::logJITCodeForJITDump):
* Source/JavaScriptCore/assembler/LinkBuffer.h:
(JSC::IRDumpDebugInfo::IRDumpDebugInfo):
(JSC::LinkBuffer::setIRDumpDebugInfo):
* Source/JavaScriptCore/assembler/PerfLog.cpp:
(JSC::PerfLog::PerfLog):
(JSC::PerfLog::log):
* Source/JavaScriptCore/assembler/PerfLog.h:
* Source/JavaScriptCore/dfg/DFGGraph.cpp:
(JSC::DFG::Graph::collectIRDumpDebugInfo):
* Source/JavaScriptCore/dfg/DFGGraph.h:
* Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::collectIRDumpDebugInfo):
* Source/JavaScriptCore/dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::setForNode):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileFunction):
* Source/JavaScriptCore/ftl/FTLCompile.cpp:
(JSC::FTL::compile):
* Source/JavaScriptCore/ftl/FTLState.cpp:
(JSC::FTL::State::State):
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::notifyOptionsChanged):
* Source/JavaScriptCore/runtime/OptionsList.h:
Canonical link: https://commits.webkit.org/308822@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications