Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d5d653f36164e67aac33691010c9f858ef1e0d4a
https://github.com/WebKit/WebKit/commit/d5d653f36164e67aac33691010c9f858ef1e0d4a
Author: Yusuke Suzuki <[email protected]>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M Source/JavaScriptCore/bytecode/SpeculatedType.cpp
M Source/JavaScriptCore/bytecode/SpeculatedType.h
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
M Source/JavaScriptCore/dfg/DFGIntegerRangeOptimizationPhase.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
Log Message:
-----------
[JSC] Track String Resolution in SpeculatedTypes
https://bugs.webkit.org/show_bug.cgi?id=294164
rdar://152778287
Reviewed by Yijia Huang.
This patch adds String resolution information to SpeculatedTypes. We add
SpecStringResolvedVar and SpecStringUnresolvedVar. And we add SpecStringResolved
combined SpeculatedType. So we can see whether the string is definitely
resolved or not from AbstractValue's type. We also add bound information
from StringCharCodeAt in integer range optimization to avoid some
checked addition after this.
* Source/JavaScriptCore/bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromCell):
* Source/JavaScriptCore/bytecode/SpeculatedType.h:
* Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* Source/JavaScriptCore/dfg/DFGIntegerRangeOptimizationPhase.cpp:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharCodeAt):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
Canonical link: https://commits.webkit.org/295993@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes