Current traits implementation breaks VM compatibility
Andreas Raab
andreas.raab at gmx.de
Mon Jan 30 17:35:48 UTC 2006
Daniel Vainsencher wrote:
> As one of the people involved in the implementation, I apologize for
> that, I didn't notice that effect.
Nobody did. If there's a lesson to be learned here then it's that large
scale changes always have some unforeseen consequences. Which is simply
another reason for thorough testing before this kind of change get
integrated.
> Since in the stable state, the right thing to do is probably to have
> those variables in Behavior, it might be better to bite the bullet and
> change the VM. BTW, any chance this dependecy of the VM on the image can
> be removed, instead of just changed? that would make the VM change
> backwards compatible...
Short of Tim's hack I don't see how this could be achieved.
> While I can see that, for example, printing a debug stack requires the
> VM to know about class names, it is not obvious to me that type checks
> should use names rather than identities. Then again, there is a lot
> about the VM that I don't understand...
You're right it *should* use identities but those aren't always
available (the VM doesn't support lookup of classes either so you cannot
find a class if all you've got is a name).
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|