VM generation

Ian Piumarta piumarta at prof.inria.fr
Sat Feb 21 11:15:58 UTC 1998


> That's a small but significant problem.

I think the significance of the problem is rather subjective.

On one hand, the problem is that the assertion is "wrong" and not the
behaviour of the VM.  The assertion is correctly detecting an exceptional
condition, but this condition is handled correctly elsewhere.  From this
point of view it's an insignificant problem: compiling without assertions
will produce a working VM, as Andreas points out.

On the other hand, restructuring the method lookup code so that the
assertion is never reached in normal operation will deal with the
exceptional condition earlier in the lookup, in a place which is not
critical to performance.  This will allow some later testing for (and
handling of) the condition to be removed from places which have more
effect on performance.  From this point of view it is significant, but
only if one is interested in counting fractions of a percent of VM
performance.

If anyone is desperate to build a 1.31 VM with assertions enabled then it
suffices to remove (in the image) the test for whether the jitter or
bytecode VM is running, during the startup of the low space process to
determine at what threshold the semaphore is signalled, and
unconditionally use the larger of the two values.

I will hopefully have a little spare time again to devote to Squeaky
things in the next few days, during which I'll fix this problem and build
a 1.31 release for all the Unix platforms.

Ian





More information about the Squeak-dev mailing list