Files
mruby-mruby/include/mruby
dearblue a54a3df32c Extended mruby binary format
The catch handler table is combined with iseq block.
This is to prevent the structure from growing by adding a field for the
catch handler table to the `mrb_irep` structure.

"iseq block" and "catch handler table":
  [number of catch handler table (2 bytes)]
  [number of byte code (4 bytes)]
  [iseq (any bytes)]
  [catch handlers (multiple of 7 bytes)]

catch handler:
  [catch type (1 byte)]
  [begin offset (2 bytes)]
  [end offset (2 bytes)]
  [target offset (2 bytes)]

catch type: enum mrb_catch_type (0 = rescue, 1 = ensure)
begin offset: Includes the specified instruction address
end offset: Does not include the specified instruction address
target offset: replaces pc with the specified instruction address

This table is not expanded by `read_irep_record_1()`.
The necessary elements are expanded one by one when used.
2020-10-12 16:21:32 +09:00
..
2020-10-12 16:21:30 +09:00
2020-10-12 16:21:08 +09:00
2020-10-12 16:21:22 +09:00
2020-10-12 16:21:03 +09:00
2020-10-12 16:20:41 +09:00
2020-10-12 16:21:32 +09:00
2019-12-13 04:41:43 +09:00
2020-07-31 18:14:02 +09:00
2020-10-12 16:21:19 +09:00
2020-10-12 16:21:19 +09:00
2019-08-18 20:12:44 +09:00
2019-08-18 20:12:44 +09:00
2019-08-18 20:12:44 +09:00
2020-08-06 12:45:59 +09:00