diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | compile.c | 2 | ||||
-rw-r--r-- | sample/iseq_loader.rb | 5 |
3 files changed, 13 insertions, 2 deletions
@@ -1,3 +1,11 @@ +Wed Dec 9 00:24:33 2015 Koichi Sasada <ko1@atdot.net> + + * compile.c (iseq_ibf_dump): dump extra data just string length. + + * sample/iseq_loader.rb: add using + RubyVM::InstructionSequence.from_binary_format_extra_data method + (commented out). + Mon Dec 9 00:21:19 2015 Yuki Nishijima <mail@yukinishijima.net> * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1 @@ -8116,7 +8116,7 @@ iseq_ibf_dump(const rb_iseq_t *iseq, VALUE opt) if (RTEST(opt)) { VALUE opt_str = opt; const char *ptr = StringValuePtr(opt_str); - header.extra_size = RSTRING_LENINT(opt_str) + 1; + header.extra_size = RSTRING_LENINT(opt_str); ibf_dump_write(dump, ptr, header.extra_size); } else { diff --git a/sample/iseq_loader.rb b/sample/iseq_loader.rb index 6c6a67d3c8..2fd9184a7d 100644 --- a/sample/iseq_loader.rb +++ b/sample/iseq_loader.rb @@ -70,7 +70,10 @@ class RubyVM::InstructionSequence $ISEQ_LOADER_LOADED += 1 STDERR.puts "[ISEQ_LOADER] #{Process.pid} load #{fname} from #{iseq_key}" if COMPILE_DEBUG binary = read_compiled_iseq(fname, iseq_key) - RubyVM::InstructionSequence.from_binary_format(binary) + iseq = RubyVM::InstructionSequence.from_binary_format(binary) + # p [extra_data(iseq.path), RubyVM::InstructionSequence.from_binary_format_extra_data(binary)] + # raise unless extra_data(iseq.path) == RubyVM::InstructionSequence.from_binary_format_extra_data(binary) + iseq elsif COMPILE_IF_NOT_COMPILED compile_and_save_iseq(fname, iseq_key) else |