aboutsummaryrefslogtreecommitdiffstats
path: root/iseq.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-08 08:21:07 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-08 08:21:07 +0000
commiteec17b718ae04b9bcff215114a156dcb25eb1458 (patch)
tree4133d3187ea216692013cfb2e59b396939ce8f07 /iseq.c
parentd3022c424cffc1e92b751e72fb450408e853e388 (diff)
downloadruby-eec17b718ae04b9bcff215114a156dcb25eb1458.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.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/iseq.c b/iseq.c
index c10e64167c..283cd28be9 100644
--- a/iseq.c
+++ b/iseq.c
@@ -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);