Given their emphasis on space over speed, and given the relatively small amount of RAM, I would expect ... that they just make a copy that extends the object by the extra slot, then do a pass over memory to redirect all pointers to the object to refer to the new copy.
That very well may be... but my experiments to date seem to indicate that the address for a frame doesn't seem to change simply because slots have been added, but does seem to change after events that would imply that garbage has been collected. (more snooping remains to be done...)
Interesting. They could be using forwarding pointers and postponing fixing up the pointers until the next GC (when it has to update a lot of pointers anyway).