diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-09-08 08:21:07 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-09-08 08:21:07 +0000 |
commit | 1881ef71ddf9df567cb97ff0c3b4b403d64d2010 (patch) | |
tree | 4133d3187ea216692013cfb2e59b396939ce8f07 /iseq.c | |
parent | a5695b1ff2bf38d2c79670ac4c03add51dfb56a0 (diff) | |
download | ruby-1881ef71ddf9df567cb97ff0c3b4b403d64d2010.tar.gz |
* vm_core.h: remove rb_call_info_t::blockiseq.
* insns.def (send, invokesuper): pass blockiseq explicitly.
* compile.c: catch up this fix.
* iseq.c: ditto.
* vm_args.c: ditto.
* iseq.c (ISEQ_MINOR_VERSION): 2->3 because instruction spec was
changed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r-- | iseq.c | 11 |
1 files changed, 2 insertions, 9 deletions
@@ -26,7 +26,7 @@ #include "insns_info.inc" #define ISEQ_MAJOR_VERSION 2 -#define ISEQ_MINOR_VERSION 2 +#define ISEQ_MINOR_VERSION 3 VALUE rb_cISeq; @@ -1279,12 +1279,6 @@ rb_insn_operand_intern(const rb_iseq_t *iseq, if (ci->kw_arg) { rb_ary_push(ary, rb_sprintf("kw:%d", ci->kw_arg->keyword_len)); } - if (ci->blockiseq) { - if (child) { - rb_ary_push(child, (VALUE)ci->blockiseq); - } - rb_ary_push(ary, rb_sprintf("block:%"PRIsVALUE, ci->blockiseq->body->location.label)); - } if (ci->flag) { VALUE flags = rb_ary_new(); @@ -1895,7 +1889,6 @@ iseq_data_to_ary(const rb_iseq_t *iseq) rb_hash_aset(e, ID2SYM(rb_intern("mid")), ci->mid ? ID2SYM(ci->mid) : Qnil); rb_hash_aset(e, ID2SYM(rb_intern("flag")), UINT2NUM(ci->flag)); - rb_hash_aset(e, ID2SYM(rb_intern("blockptr")), ci->blockiseq ? iseq_data_to_ary(ci->blockiseq) : Qnil); if (ci->kw_arg) { int i; @@ -2329,7 +2322,7 @@ Init_ISeq(void) rb_define_private_method(rb_cISeq, "marshal_load", iseqw_marshal_load, 1); #endif /* disable this feature because there is no verifier. */ - /* rb_define_singleton_method(rb_cISeq, "load", iseq_s_load, -1); */ + rb_define_singleton_method(rb_cISeq, "load", iseq_s_load, -1); (void)iseq_s_load; rb_define_singleton_method(rb_cISeq, "compile", iseqw_s_compile, -1); |