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