Simulating Plugins problem and #digitDiv:neg: (Re: Mac block-closure VM problem)

Anthony Hannan ajh18 at cornell.edu
Thu Jan 24 19:23:53 UTC 2002


John M McIntosh <johnmci at smalltalkconsulting.com> wrote:
> when the image startups in a code-warrior-compiled block-closure VM it invokes
> Date printOn:format:
> which fails with
> LargePositiveInteger class first?

I've seen a problem like this when trying to run the
InterpreterSimulator.

Date>>printOn:format:
calls Date>>asGregorian 
which calls // 
which calls quo: 
which calls digitDiv:neg:

digitDiv:neg: is a named primitive in LargeIntegers.  The
InterpreterSimulator tries to run the plugin code in Smalltalk but fails
to find it because it takes args which the plugin simulator fails to
consider (see InterpreterSimulator>>callExternalPrimitive: and other
users of mappedPluginEntries).  So the failure code in digitDiv:neg:
takes over which incorrectly assumes self is normalized, resulting in an
incorrect value for #digitLength.  So there are at least two problems
the simulation of plugins and the Integer>>digitDiv:neg: failure code.

I don't know if this is the problem with the Mac code-warrior
block-closure version, but it may be related.  John, does your VM load
the LargeIntegers plugin?

> Attempting to click on one of the contexts in the debugger generates
> UndefinedObject keyword?
> UndefinedObject(Object)>>doesNotUnderstand:
> in
> Parser2>>messagePart:repeat:

I don't know why the debugger doesn't work maybe it has to do with
LargeIntegers as well.

- Anthony

P.S. by the way John, I could not view the jpg image you sent me.  I got
'image format not recognized' in Squeak.  I also couldn't see it in
Netscape (just got blank image icon).  Maybe because I'm on a i586
machine and your on a Mac. I don't know.



More information about the Squeak-dev mailing list