NEW Error.

Ian Piumarta ian.piumarta at inria.fr
Thu Sep 11 17:32:36 UTC 2003


Hi Alan,

On Thu, 11 Sep 2003, Alan Grimes wrote:

>         while (!((thisCntx == aContext) || (thisCntx == nilOop))) {
> >>>>>>>>>>                isUnwindMarked = isUnwindMarked(thisCntx);

Aha, well, that explains it.

There appears to be a temp var in an Interpreter method that shares the
name of a method in the same class.  That's a no-no.  It's off to bed
without any supper for whoever wrote that code.

When inlined, the method isn't called -- its code is substituted in-place,
so the var of the same name doesn't really matter.  When not inlined
everything explodes since the local var shadows the global function.

I'll fix this and post a changeset.

> #if SITE == "<postal address deleted>" 
> # define INSERT_RANDOM_ERRORS_INTO_ALL_CODE 1
> #endif

I think you really did find a legitimate bug this time.  :)

Cheers,
Ian



More information about the Squeak-dev mailing list