[前][次][番号順一覧][スレッド一覧]

ruby-changes:58428

From: Koichi <ko1@a...>
Date: Fri, 25 Oct 2019 04:39:50 +0900 (JST)
Subject: [ruby-changes:58428] 58b363bf0d (master): respect `param.flags.ruby2_keywords` at to_binary.

https://git.ruby-lang.org/ruby.git/commit/?id=58b363bf0d

From 58b363bf0d1f31ae9bcbaf301f9abedb99fa90f6 Mon Sep 17 00:00:00 2001
From: Koichi Sasada <ko1@a...>
Date: Fri, 25 Oct 2019 04:37:46 +0900
Subject: respect `param.flags.ruby2_keywords` at to_binary.

`param.flags.ruby2_keywords` is not store/load correctly at to_binary
so restore this flag correctly.

diff --git a/compile.c b/compile.c
index 278736d..72b60c1 100644
--- a/compile.c
+++ b/compile.c
@@ -10147,7 +10147,8 @@ ibf_dump_iseq_each(struct ibf_dump *dump, const rb_iseq_t *iseq) https://github.com/ruby/ruby/blob/trunk/compile.c#L10147
         (body->param.flags.has_kwrest       << 5) |
         (body->param.flags.has_block        << 6) |
         (body->param.flags.ambiguous_param0 << 7) |
-        (body->param.flags.accepts_no_kwarg << 8);
+        (body->param.flags.accepts_no_kwarg << 8) |
+        (body->param.flags.ruby2_keywords   << 9);
 
 #if IBF_ISEQ_ENABLE_LOCAL_BUFFER
 #  define IBF_BODY_OFFSET(x) (x)
@@ -10313,6 +10314,7 @@ ibf_load_iseq_each(struct ibf_load *load, rb_iseq_t *iseq, ibf_offset_t offset) https://github.com/ruby/ruby/blob/trunk/compile.c#L10314
     load_body->param.flags.has_block = (param_flags >> 6) & 1;
     load_body->param.flags.ambiguous_param0 = (param_flags >> 7) & 1;
     load_body->param.flags.accepts_no_kwarg = (param_flags >> 8) & 1;
+    load_body->param.flags.ruby2_keywords = (param_flags >> 9) & 1;
     load_body->param.size = param_size;
     load_body->param.lead_num = param_lead_num;
     load_body->param.opt_num = param_opt_num;
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]