- Are #become: and #becomeForward: optimized for the case where both objects use the same amount of memory?

Yes.  This case simply swaps contents and adjusts the remembered table accordingly.  Tim also suggested optimizing the other case, copying into the smaller object and only allocating one extra clone, which I'll implement soon.

Just curious....This "simply swaps contents" isn't only for #become: ? Or there is a way to do something to avoid updating pointers for #becomeForward as well?  Maybe there is something related about lazy become / forwarding pointers / proxies or whatever that could help?



On Sat, 21 Sep 2013, btc@openinworld.com wrote:

commits@source.squeak.org wrote:
 Eliot Miranda uploaded a new version of VMMaker to project VM Maker:

==================== Summary ====================

Name: VMMaker.oscog-eem.399
Author: eem
Time: 20 September 2013, 6:28:56.308 pm
UUID: 89f8fefe-b59d-42d7-9c11-7f848d0e5131
Ancestors: VMMaker.oscog-eem.398

A few isIntegerObject:'s => isImmediate:'s in primitives.

More protocol.

The Spur VM now draws its first window!!

A cheer goes up in the crowd of interested spectators.
Probably lots still to do, but its a nice concrete milestone.
Contributing is beyond me at this time, so I especially like to thank you for this important initiative.

cheers -ben