Sorry, the inline patch was an extremely hacky work-in-progress, but I think rb_iseq_load_fix / v1.txt should've been OK with your (non keyword) use cases. Here is a slightly less broken, but still hacky work-in-progress: http://80x24.org/spew/m/rb_iseq_load_fix / v3.txt http://80x24.org/spew/m/rb_iseq_load_fix / v3.txt This is on top of r48554, which was purely a cleanup commit in preparation for this. Notable changes since v1 (and my WIP v2): - iseq#to_ary dumps :kwbits => iseq->params.keyword->bits_start Current hacks: * peephole optimization seems to be not idempotent wrt jump elimination A second pass (optimize => to_ary => load(optimize) eliminates extra useless jumps such as: jump LABEL LABEL: I currently disable peephole optimization to on load to avoid running the optimizer twice, but ideally, the first pass should eliminate the above jump insn. * iseq->stack_size seems not calculated correctly upon load, so I'm currently blindly loading it from the misc hash :x