diff --git a/misc/lldb_rb/rb_base_command.py b/misc/lldb_rb/rb_base_command.py index bf98b67612..de90a1617c 100644 --- a/misc/lldb_rb/rb_base_command.py +++ b/misc/lldb_rb/rb_base_command.py @@ -19,8 +19,8 @@ class RbBaseCommand: imemo_types = target.FindFirstType("enum imemo_type") - for member in imemo_types.GetEnumMembers(): - g[member.GetName()] = member.GetValueAsUnsigned() + #for member in imemo_types.GetEnumMembers(): + # g[member.GetName()] = member.GetValueAsUnsigned() for enum in target.FindFirstGlobalVariable("ruby_dummy_gdb_enums"): enum = enum.GetType() diff --git a/object.c b/object.c index 5f8568e3b4..aa337ea2ce 100644 --- a/object.c +++ b/object.c @@ -298,6 +298,10 @@ init_copy(VALUE dest, VALUE obj) rb_copy_generic_ivar(dest, obj); rb_gc_copy_finalizer(dest, obj); + if (RB_TYPE_P(obj, T_OBJECT)) { + rb_obj_copy_ivar(dest, obj); + } + if (!RB_TYPE_P(obj, T_CLASS) && !RB_TYPE_P(obj, T_MODULE)) { rb_shape_t *shape_to_set = rb_shape_get_shape(obj); @@ -310,10 +314,6 @@ init_copy(VALUE dest, VALUE obj) // shape ids are different rb_shape_set_shape(dest, shape_to_set); } - - if (RB_TYPE_P(obj, T_OBJECT)) { - rb_obj_copy_ivar(dest, obj); - } } static VALUE immutable_obj_clone(VALUE obj, VALUE kwfreeze);