[Vm-dev] Re: Getting back to push/pop remappable oop

Andreas Raab andreas.raab at gmx.de
Tue Nov 11 15:59:59 UTC 2008


Igor Stasenko wrote:
> - there was no need in having these methods from the very start.
> Any oop at any time can be temporary pushed on stack and then popped
> back again using #pop:/#push: methods.
> Of course, primitives need to be careful to not override the
> arguments, which can be reused in method when primitive fails - so
> they should push values past the arguments.

This won't work. Stack frames are limited in size and sized in the image 
based on however much space is required by the byte codes without any 
regards of potential additional space needed by primitives (which is 
variable). And, since primitives are executed before activation (meaning 
that the "primitive stack" would have to share the frame with the caller 
method) every frame would have to reserve the maximum additional stack 
space any single primitive might require.

Cheers,
   - Andreas


More information about the Vm-dev mailing list