[Vm-dev] Integer overflow with BitBlt rule 20 and depth 32
juan at jvuletich.org
Mon Oct 26 18:07:46 UTC 2009
Eliot Miranda wrote:
> On Mon, Oct 26, 2009 at 6:01 AM, Juan Vuletich <juan at jvuletich.org
> <mailto:juan at jvuletich.org>> wrote:
> 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
> 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.
> When simulating the interpreterProxy inst var should hold the
> InterpreterSimulator, not the proxy.
Maybe it should be an InterpreterSimulator when simulating the whole
interpreter. When calling #copyBitsSimulated, it is set to an
InterpreterProxy in #copyBitsFrom: .
Anyway, I'm asking for help on making #copyBitsSimulated work again,
like it should do when called from BitBltTest. If nobody can help with
that, I guess I'll open a Mantis issue for this problem, in the hope
that some day it gets fixed.
> 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.
> Juan Vuletich
More information about the Vm-dev