Adding loop primitives/optimizations (wasMakingSet/Dictionaryetc. loops more robust)

Andreas Raab andreas.raab at gmx.de
Thu Dec 2 10:27:59 UTC 2004


> Perhaps setjump etc. isn't necessary.

Perhaps not. *shrug*

> Why not have the primitive make a
> call that leaves what looks like an ordinary call-frame on Smalltalks 
> stack
> waiting for a return with a the PC counter hacked backwards so that it
> RERUNS THE PRIMITIVE.  You an have two primitives if that makes it easier.

Well, good luck. This all sounds horribly messy to me. Making a fake call 
stack with a hacked pc counter ... *shudder*.

> If you want collectable variables, perhaps you can stick these primitives
> inside of a block or method with local variables and let them primitive
> access ordinary Smalltalk locals.

I'm sure you can do even more but I have to ask at which point a former 
exercise in optimization becomes a hack for the sole purpose of prooving 
that it can be done in precisely that way. Given all that has been talked 
about I'd rather spend my time making sure Squeak message sends run faster 
instead of trying to implement a particular primitive (for which the 
effectiveness has not been proven I might add).

Good luck,
  - Andreas




More information about the Squeak-dev mailing list