[webkit-changes] [WebKit/WebKit] c3525c: [JSC] BakcwardPropagationPhase should carry NaN / ...
Yusuke Suzuki
noreply at github.com
Tue Jul 11 17:58:18 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c3525c11bd3ca6ad6d2375dc0f12979624c581b3
https://github.com/WebKit/WebKit/commit/c3525c11bd3ca6ad6d2375dc0f12979624c581b3
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-07-11 (Tue, 11 Jul 2023)
Changed paths:
M Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp
M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
M Source/JavaScriptCore/dfg/DFGGraph.h
M Source/JavaScriptCore/dfg/DFGNode.h
M Source/JavaScriptCore/dfg/DFGNodeFlags.cpp
M Source/JavaScriptCore/dfg/DFGNodeFlags.h
M Source/JavaScriptCore/dfg/DFGNodeType.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/dfg/DFGVariableAccessData.cpp
Log Message:
-----------
[JSC] BakcwardPropagationPhase should carry NaN / Infinity handling, take 2
https://bugs.webkit.org/show_bug.cgi?id=259128
rdar://112108410
Reviewed by Justin Michaud.
This is the second attempt to land 252675 at main change. Previously we did this to properly propagate NaN / Infinity handling possibility
to make ArithDiv semantic bug fixed. But we rolled out and did a conservative simple fix instead since we observed JetStream2 regression (253246 at main).
But now, this patch fixes the regression, which was missing handling of this new flag in DFG::Graph::addShouldSpeculateInt52.
This offers 5~% progression (it is kind of recovery from the previous regression from 253246 at main) in JetStream2/octane-zlib by not causing repeated
ArithDiv Overflow OSR exit here.
* Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
* Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupArithDivInt32):
* Source/JavaScriptCore/dfg/DFGGraph.h:
* Source/JavaScriptCore/dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
* Source/JavaScriptCore/dfg/DFGNodeFlags.h:
(JSC::DFG::bytecodeCanIgnoreNaNAndInfinity):
* Source/JavaScriptCore/dfg/DFGNodeType.h:
Canonical link: https://commits.webkit.org/265978@main
More information about the webkit-changes
mailing list