[Vm-dev] Integer overflow with BitBlt rule 20 and depth 32
juan at jvuletich.org
Mon Oct 26 13:01:47 UTC 2009
I've just opened http://bugs.squeak.org/view.php?id=7407 , with a
description of the problem, several tests (based on Henrik's scripts)
and the fix I propose.
David T. Lewis wrote:
> On Sat, Oct 24, 2009 at 10:40:17AM -0300, Juan Vuletich wrote:
>> What worries me a bit is the other changes I needed to do to be able to
>> run the Smalltalk BitBlt simulation and to do the translation. These are:
>> BitBltSimulator >> #oopForPointer: "May be harmless"
>> CArrayAccessor >> #long32At: "Why is this needed?"
>> CArrayAccessor >> #long32At:put: "Why is this needed?"
> I am just guessing here, but I think that BitBltSimulator expects to
> be used with an interpreter simulator, so perhaps if you initialize it
> with a simulator there will be no need to add these methods.
> sim := BitBltSimulator new setInterpreter: InterpreterSimulator new
Given that BitBltSimulation calls #isIntegerObject: it looks like the
ivar interpreterProxy should hold an InterpreterProxy (as it already
does) and not an InterpreterSimulator. I did not add my patch to make
simulation work to Mantis, as I'm not sure about them.
Andreas, perhaps you (or anyone knowledgeable enough) can try making the
bitblt simulator tests included in the Mantis issues work. BTW, I moved
these tests to VMMaker, as the current version in trunk does test
nothing if VMMaker is not loaded. That's why these old tests didn't
catch the problem of BitBltSimulator not working anymore.
More information about the Vm-dev