aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-08 15:30:46 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-08 15:30:46 +0000
commitddba2014c642b886fc9ae3bf44d6a8a10af58be5 (patch)
treee1333f8fb133044acb85e1325d823230bc5b5c94
parent278d90a255d326c55c54dcfb95eaad482a8a3060 (diff)
downloadruby-ddba2014c642b886fc9ae3bf44d6a8a10af58be5.tar.gz
* 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). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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