[Vm-dev] Integer overflow with BitBlt rule 20 and depth 32

Juan Vuletich juan at jvuletich.org
Mon Oct 26 13:01:47 UTC 2009


Hi Folks,

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
>
> Dave
>   

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.

Cheers,
Juan Vuletich


More information about the Vm-dev mailing list