Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bf340ec206a1119d12e10dace602e3edf35d31a5 https://github.com/WebKit/WebKit/commit/bf340ec206a1119d12e10dace602e3edf35d31a5 Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2025-04-24 (Thu, 24 Apr 2025)
Changed paths: M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h M Source/JavaScriptCore/dfg/DFGValueRepReductionPhase.cpp M Source/JavaScriptCore/dfg/DFGValueRepReductionPhase.h M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp Log Message: ----------- [JSC] Integrate Int52 result into MultiGetByVal https://bugs.webkit.org/show_bug.cgi?id=291958 rdar://149857634 Reviewed by Yijia Huang. When MultiGetByVal is emitted with DoubleArray | Uint32Array for example, the result is considered as JSValue. Then we need to box and unbox values while we already know that the result is used under the context of Int52. In this patch, we attempt to put Int52Result flag to MultiGetByVal. Then it will generate Int52 result directly when it is specified. To find the beneficial case, we extend ValueRep reduction phase to detect MultiGetByVal nodes which is only used under Int52 context. Then we attach Int52Result flag to that node and FTL will generate a code which directly generates Int52 results. * Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * Source/JavaScriptCore/dfg/DFGValueRepReductionPhase.cpp: (JSC::DFG::ValueRepReductionPhase::run): (JSC::DFG::ValueRepReductionPhase::convertValueRepsToUnboxed): (JSC::DFG::ValueRepReductionPhase::convertValueRepsToDouble): Deleted. * Source/JavaScriptCore/dfg/DFGValueRepReductionPhase.h: * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileInt52Rep): (JSC::FTL::DFG::LowerDFGToB3::compileMultiGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): Canonical link: https://commits.webkit.org/294067@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes