Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ec3927dec16c983d02600627fa81d51be322984b
https://github.com/WebKit/WebKit/commit/ec3927dec16c983d02600627fa81d51be322984b
Author: Yusuke Suzuki <[email protected]>
Date: 2023-06-12 (Mon, 12 Jun 2023)
Changed paths:
M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
M Source/JavaScriptCore/b3/B3LowerMacros.cpp
M Source/JavaScriptCore/b3/B3LowerToAir.cpp
M Source/JavaScriptCore/b3/air/AirOpcode.opcodes
M Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp
Log Message:
-----------
[JSC] Optimize DFG ArithMul
https://bugs.webkit.org/show_bug.cgi?id=257973
rdar://110657502
Reviewed by Justin Michaud.
This patch optimizes DFG ArithMul more.
1. ARM64 branchMul32 and branchMul64 were suboptimal. This patch rewrites the
assembler generated code.
And we drop B3's ARM64 CheckMul macro-lowering since BranchMul32 generated
code is now better.
2. Extend isNotNegZero not to cause negative zero check unnecessarily. Bit ops
never generates -0 (If it is numbers,
then it is always non -0. If it is BigInt, anyway, it is not -0).
* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branchMul32):
(JSC::MacroAssemblerARM64::branchMul64):
* Source/JavaScriptCore/b3/B3LowerMacros.cpp:
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::isNotNegZero):
Canonical link: https://commits.webkit.org/265097@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes