diff options
author | Koichi Sasada <ko1@atdot.net> | 2019-10-25 04:37:46 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2019-10-25 04:39:22 +0900 |
commit | 58b363bf0d1f31ae9bcbaf301f9abedb99fa90f6 (patch) | |
tree | a9d1634272d8ce251cbd5cd9358482c4419c99ab /compile.c | |
parent | d6a2507e494f0fffca375c9e2eede38b6a777874 (diff) |
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.
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -10147,7 +10147,8 @@ ibf_dump_iseq_each(struct ibf_dump *dump, const rb_iseq_t *iseq) (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) 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; |