If you don't bother about being slow, you can also make it much easier:
|trailer source m | m := (Gofer>>#load). trailer := m trailer. source := m getSource. trailer sourceCode: source. m becomeForward: (m copyWithTrailerBytes: trailer)
and if you want to do it for the whole image you can use one bulk become and it will be fast.
I will experiment and see if it is working.
Well...do not try to execute this: | trailer source key dict | dict := IdentityDictionary new. CompiledMethod allInstances do: [:each | trailer := each trailer. source := each getSource. trailer sourceCode: source. each becomeForward: (each copyWithTrailerBytes: trailer). "dict at: each put: (each copyWithTrailerBytes: trailer)." ]. dict keys asArray elementsExchangeIdentityWith: dict values asArray. since it hangs my VM... time to go now... cheers
PS: I will interested if you do it :)
In return, I would really appreciate if you could learn a bit about etiquette and quoting http://www.gweep.ca/~edmonds/usenet/ml-etiquette.html#SECTION000900000000000...
99% of the cases I answer where I have to answer (like I am doing now). But sometimes if my answer is obvious, I think it is much easier a top posting than having to quote your email.
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com