diff options
author | Aaron Patterson <[email protected]> | 2022-11-17 15:57:11 -0800 |
---|---|---|
committer | Aaron Patterson <[email protected]> | 2022-11-18 08:31:56 -0800 |
commit | 10788166e7e568fdcd0b748e8d5dab442dcdc7ef (patch) | |
tree | ee195186a3fed8333bc1875f66ddab0c85c3d7db /object.c | |
parent | f0ce1186620273a1182e6084559765143099eb88 (diff) |
Differentiate T_OBJECT shapes from other objects
We would like to differentiate types of objects via their shape. This
commit adds a special T_OBJECT shape when we allocate an instance of
T_OBJECT. This allows us to avoid testing whether an object is an
instance of a T_OBJECT or not, we can just check the shape.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6758
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -293,7 +293,7 @@ rb_obj_copy_ivar(VALUE dest, VALUE obj) rb_shape_t * initial_shape = rb_shape_get_shape(dest); if (initial_shape->size_pool_index != src_shape->size_pool_index) { - RUBY_ASSERT(initial_shape->parent_id == ROOT_SHAPE_ID || initial_shape->type == SHAPE_ROOT); + RUBY_ASSERT(initial_shape->type == SHAPE_T_OBJECT); shape_to_set_on_dest = rb_shape_rebuild_shape(initial_shape, src_shape); } |