mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:18:11 +00:00
![]() This patch adds a new "Peephole" pass for performing small, local optimizations to bytecode. We also introduce the first such optimization, fusing a sequence of some comparison instruction FooCompare followed by a JumpIf into a new set of JumpFooCompare instructions. This gives a ~50% speed-up on the following microbenchmark: for (let i = 0; i < 10_000_000; ++i) { } But more traditional benchmarks see a pretty sizable speed-up as well, for example 15% on Kraken/ai-astar.js and 16% on Kraken/audio-dft.js :^) |
||
---|---|---|
.. | ||
DumpCFG.cpp | ||
GenerateCFG.cpp | ||
MergeBlocks.cpp | ||
Peephole.cpp | ||
PlaceBlocks.cpp | ||
UnifySameBlocks.cpp |