You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to evolve the shape of objects as more instance variables
are discovered, we need to be able to access multiple different
shaped instances with their own layouts. Previously, only one
shape could be associated with a given class, based on a static
inspection of all instance variable accesses in the class's
hierarchy. In order to keep stale-shaped objects functional, this
commit adds a shape reference to all shaped RubyObject subtypes.
With this we can allocate a first object using no instance vars
(falling back on the default varTable layout) and as instance vars
are encountered modify allocation to create wider object shapes.
The step here simply adds the shape reference to all shaped
objects; evolving that shape and updating the allocator will come
in future commits.
0 commit comments