diff options
| author | Jean Boussier <jean.boussier@gmail.com> | 2025-08-26 09:19:07 +0200 |
|---|---|---|
| committer | Jean Boussier <jean.boussier@gmail.com> | 2025-08-26 13:44:59 +0200 |
| commit | 14bdf4b57dcd3169a8717dc893fd1e1be897deeb (patch) | |
| tree | cf7e21a3c2f7d6bd9fa53788b3bbecd2c2a3ea80 /shape.h | |
| parent | 59c996797e16f45a3b91baa04083c2da3a1edfcb (diff) | |
Ensure T_OBJECT and T_IMEMO/fields have identical layout
Diffstat (limited to 'shape.h')
| -rw-r--r-- | shape.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -351,6 +351,8 @@ ROBJECT_FIELDS_HASH(VALUE obj) { RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT); RUBY_ASSERT(rb_shape_obj_too_complex_p(obj)); + RUBY_ASSERT(!FL_TEST_RAW(obj, ROBJECT_EMBED)); + return (st_table *)ROBJECT(obj)->as.heap.fields; } @@ -359,6 +361,8 @@ ROBJECT_SET_FIELDS_HASH(VALUE obj, const st_table *tbl) { RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT); RUBY_ASSERT(rb_shape_obj_too_complex_p(obj)); + RUBY_ASSERT(!FL_TEST_RAW(obj, ROBJECT_EMBED)); + ROBJECT(obj)->as.heap.fields = (VALUE *)tbl; } |
