mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 20:22:45 +00:00 
			
		
		
		
	|  4438ec481c 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 | ||