sisshiki1969 / monoruby

Ruby implementation with yet another JIT compiler.
Apache License 2.0
110 stars 4 forks source link

Introduce CFG for precise register liveness analysis. #14

Closed sisshiki1969 closed 1 year ago

sisshiki1969 commented 1 year ago

Reducing memory access and Float <-> f64 conversion in hot loops is especially important to improve performance in float-heavy benchmark such as so_mandelbrot or so_nbody. To achieved this, precise liveness analysis for register slots is needed, thus we introduced basic block and control flow graph in this PR.

jitgen::analysis.rs jitgen::basic_block.rs