summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--compile.c2
-rw-r--r--sample/iseq_loader.rb5
3 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5166ba1d33..438b686df9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/compile.c b/compile.c
index 4c4cc324df..31741ca598 100644
--- a/compile.c
+++ b/compile.c
@@ -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