summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-04-16 12:46:08 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-04-16 12:46:08 +0000
commit58a2084483ce8baaf90d7b1cb00e3fa9570fbc79 (patch)
tree0ec178b1923efd0c9a8826be71eb23f232cab24e
parentb2839bac445da360034a035382293deadaad9a39 (diff)
compile.c: align range
* compile.c (ibf_dump_object_struct): align range elements. [ruby-core:86548] [Bug #14689] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--compile.c3
-rw-r--r--test/ruby/test_iseq.rb1
2 files changed, 3 insertions, 1 deletions
diff --git a/compile.c b/compile.c
index 5d37c730ef..f1cd30fe5f 100644
--- a/compile.c
+++ b/compile.c
@@ -9259,6 +9259,7 @@ ibf_dump_object_struct(struct ibf_dump *dump, VALUE obj)
range.beg = (long)ibf_dump_object(dump, beg);
range.end = (long)ibf_dump_object(dump, end);
+ IBF_W_ALIGN(struct ibf_object_struct_range);
IBF_WV(range);
}
else {
@@ -9425,7 +9426,7 @@ ibf_dump_object_object(struct ibf_dump *dump, VALUE obj)
IBF_ZERO(obj_header);
obj_header.type = TYPE(obj);
- ibf_dump_align(dump, sizeof(ibf_offset_t));
+ IBF_W_ALIGN(ibf_offset_t);
current_offset = ibf_dump_pos(dump);
if (SPECIAL_CONST_P(obj)) {
diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb
index 2ef344741b..86aad2da69 100644
--- a/test/ruby/test_iseq.rb
+++ b/test/ruby/test_iseq.rb
@@ -423,6 +423,7 @@ class TestISeq < Test::Unit::TestCase
def test_to_binary_with_objects
assert_iseq_to_binary("[]"+100.times.map{|i|"<</#{i}/"}.join)
+ assert_iseq_to_binary("@x ||= (1..2)")
end
def test_to_binary_line_info