diff options
author | Peter Zhu <peter@peterzhu.ca> | 2023-12-06 07:37:57 -0500 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2023-12-06 11:34:07 -0500 |
commit | 12e3b07455fea0e99e6aaf1893a7883fb2b0197e (patch) | |
tree | ca60535e2dc5ca4ef37b2884fc29c3dd0ade2183 /common.mk | |
parent | f80262b14d01a977ce386a5a377e911a90ce328d (diff) | |
download | ruby-12e3b07455fea0e99e6aaf1893a7883fb2b0197e.tar.gz |
Re-embed when removing Object instance variables
Objects with the same shape must always have the same "embeddedness"
(either embedded or heap allocated) because YJIT assumes so. However,
using remove_instance_variable, it's possible that some objects are
embedded and some are heap allocated because it does not re-embed heap
allocated objects.
This commit changes remove_instance_variable to re-embed Object
instance variables when it becomes small enough.
Diffstat (limited to 'common.mk')
-rw-r--r-- | common.mk | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -15849,6 +15849,7 @@ shape.$(OBJEXT): $(top_srcdir)/internal/compilers.h shape.$(OBJEXT): $(top_srcdir)/internal/error.h shape.$(OBJEXT): $(top_srcdir)/internal/gc.h shape.$(OBJEXT): $(top_srcdir)/internal/imemo.h +shape.$(OBJEXT): $(top_srcdir)/internal/object.h shape.$(OBJEXT): $(top_srcdir)/internal/serial.h shape.$(OBJEXT): $(top_srcdir)/internal/static_assert.h shape.$(OBJEXT): $(top_srcdir)/internal/string.h |