Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a8abeceb624b2e05bf50884a32835c856e1f4a2d
https://github.com/WebKit/WebKit/commit/a8abeceb624b2e05bf50884a32835c856e1f4a2d
Author: Yusuke Suzuki <[email protected]>
Date: 2022-10-14 (Fri, 14 Oct 2022)
Changed paths:
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/Sources.txt
M Source/JavaScriptCore/dfg/DFGPlan.cpp
A Source/JavaScriptCore/dfg/DFGValidateUnlinked.cpp
A Source/JavaScriptCore/dfg/DFGValidateUnlinked.h
M Source/JavaScriptCore/runtime/OptionsList.h
Log Message:
-----------
[JSC] Add uDFG validation phase
https://bugs.webkit.org/show_bug.cgi?id=246499
rdar://101154136
Reviewed by Mark Lam.
This patch adds uDFG validation phase. This allows graceful failure of the
compilation if
we accidentally include some linked data in DFG pipeline by enhancing this
phase. And at the
same time, we can detect what is wrong in the given program and improve our
uDFG quality
incrementally.
Currently, we add a first restriction: all DFG node should have the same origin
to the top level
CodeBlock to make the code easy. This paves the way to the initial version of
LinkerIR::GlobalObject.
We can enhance it, but it is postponed since it is not so frequent that we have
multiple JSGlobalObject
in one DFG function.
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* Source/JavaScriptCore/dfg/DFGValidateUnlinked.cpp: Added.
(JSC::DFG::ValidateUnlinked::run):
(JSC::DFG::ValidateUnlinked::validateNode):
(JSC::DFG::performValidateUnlinked):
* Source/JavaScriptCore/dfg/DFGValidateUnlinked.h: Added.
* Source/JavaScriptCore/runtime/OptionsList.h:
Canonical link: https://commits.webkit.org/255559@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes