From 7150c6753933f12a2ba63769fb7b3a44cfcddd3d Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 26 Nov 2020 10:34:31 +0900 Subject: Make `OP_JMP*` operand address to be relative. Jump target address is `operand (16bit)` + `address of next instruction`. In addition, `ilen` was made `uint32_t` so that `iseq` length limitation of 65536 is removed. Only jump target address should be within signed 16bit (-32768 .. 32767). --- doc/mruby3.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/mruby3.md b/doc/mruby3.md index bc0a74b00..3d9159940 100644 --- a/doc/mruby3.md +++ b/doc/mruby3.md @@ -137,6 +137,11 @@ No more operand extention * `OP_EXT2` * `OP_EXT3` +## Changed Instructions + +Jump addresses used to be specified by absolute offset from the start of `iseq`. Now they are relative offset from the address of the next instruction. + + ## `Random` now use `xoshiro128++`. For better and faster random number generation. -- cgit v1.2.3