On Sat, 20 Nov 2010, Mariano Martinez Peck wrote:
On Sat, Nov 20, 2010 at 5:41 PM, Levente Uzonyi <[email protected]> wrote:
The only problem is that you can't swap-out a method that's used by the
swap-in code.
Yes, but that's easy to solve. Before swapping everything, I "simulate" the
swapping of a dummy CompiledMethod. During that, I mark all the
CompiledMethods that were used to perform that. And then, I exclude those
objects from being swapped :)
That won't work, because during the simulation you'll only try a single
execution path. Swapping in a real method may invoke methods that weren't
used during the simulation. For example my implementation uses
#storeString to serialize the methods and Compiler >> #evaluate: to
deserialize them. So during deserialization a lot of different methods may
be invoked.
Levente