summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-06 18:44:54 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-06 18:44:54 +0000
commit02d5868962417298cf041ce723d406e16a635693 (patch)
tree1dc5d1ed654f5c84a78f4941eda131968260c6ca /iseq.c
parent202643de00ee1a241aa4c082e74967eda02c4ebb (diff)
* vm_core.h: remove rb_iseq_t::klass to reduce dynamic data.
* internal.h, iseq.c (rb_iseq_klass): remove it because rb_iseq_t::klass is removed. * vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but check callable method entry on a frame. This fix simplify the logic to search super class. * test/ruby/test_method.rb: support super() from Proc. Now, [Bug #4881] and [Bug #3136] was solved. * proc.c (rb_mod_define_method): catch up this change. * vm.c (vm_define_method): ditto. * vm_backtrace.c (rb_profile_frames): now, each `frame' objects are rb_callable_method_entry_t data or iseq VALUEs. This fix introduce minor compatibility issue that rb_profile_frame_label() always returns rb_profile_frame_base_label(). * test/-ext-/debug/test_profile_frames.rb: catch up this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c18
1 files changed, 0 insertions, 18 deletions
diff --git a/iseq.c b/iseq.c
index 48de119..1bdb5f7 100644
--- a/iseq.c
+++ b/iseq.c
@@ -127,8 +127,6 @@ iseq_mark(void *ptr)
RUBY_MARK_UNLESS_NULL(iseq->orig);
}
- RUBY_MARK_UNLESS_NULL(iseq->klass);
-
if (iseq->compile_data != 0) {
struct iseq_compile_data *const compile_data = iseq->compile_data;
RUBY_MARK_UNLESS_NULL(compile_data->mark_ary);
@@ -261,7 +259,6 @@ prepare_iseq_build(rb_iseq_t *iseq,
const rb_compile_option_t *option)
{
iseq->type = type;
- RB_OBJ_WRITE(iseq->self, &iseq->klass, 0);
set_relation(iseq, parent);
name = rb_fstring(name);
@@ -939,14 +936,6 @@ rb_iseq_first_lineno(VALUE self)
}
VALUE
-rb_iseq_klass(VALUE self)
-{
- rb_iseq_t *iseq;
- GetISeqPtr(self, iseq);
- return iseq->local_iseq->klass;
-}
-
-VALUE
rb_iseq_method_name(VALUE self)
{
rb_iseq_t *iseq, *local_iseq;
@@ -1961,13 +1950,6 @@ rb_iseq_clone(VALUE iseqval, VALUE newcbase)
iseq1->local_iseq = iseq1;
}
- if (newcbase) {
- RB_OBJ_WRITE(iseq1->self, &iseq1->klass, newcbase);
- }
- else {
- RB_OBJ_WRITTEN(iseq1->self, Qundef, iseq1->klass);
- }
-
RB_GC_GUARD(iseqval); /* seems necessary iff RGenGC is disabled */
return newiseq;