summaryrefslogtreecommitdiffstats
path: root/iseq.c
diff options
context:
space:
mode:
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/iseq.c b/iseq.c
index a14f37468..72f7f0c7b 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1011,6 +1011,15 @@ iseq_s_disasm(VALUE klass, VALUE body)
if ((iseq = rb_method_get_iseq(body)) != 0) {
ret = rb_iseq_disasm(iseq->self);
}
+ else {
+ rb_proc_t *proc;
+ VALUE iseqval;
+ GetProcPtr(body, proc);
+ iseqval = proc->block.iseq->self;
+ if (RUBY_VM_NORMAL_ISEQ_P(iseqval)) {
+ ret = rb_iseq_disasm(iseqval);
+ }
+ }
return ret;
}