[Vm-dev] Integer overflow with BitBlt rule 20 and depth 32
Eliot Miranda
eliot.miranda at gmail.com
Mon Oct 26 20:27:47 UTC 2009
On Mon, Oct 26, 2009 at 1:04 PM, Juan Vuletich <juan at jvuletich.org> wrote:
>
> Hi Eliot,
>
> Eliot Miranda wrote:
>
>>
>> Hi Juan,
>>
>>
>> On Mon, Oct 26, 2009 at 11:07 AM, Juan Vuletich <juan at jvuletich.org<mailto:
>> juan at jvuletich.org>> wrote:
>>
>>
>> Eliot Miranda wrote:
>>
>>
>> On Mon, Oct 26, 2009 at 6:01 AM, Juan Vuletich
>> <juan at jvuletich.org <mailto:juan at jvuletich.org>
>> <mailto: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
>>
>> 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.
>>
>>
>> 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.
>>
>>
>> Well with my current VM I see no problems; all 10 tests are green. What
>> is the bug that you see? How can I reproduce it?
>>
>> tia
>> Eliot
>>
>
> Thank you for caring about this issue!
>
> I apologize for not being clear. Check #testAlphaCompositingSimulated and
> #testAlphaCompositing2Simulated. Both do nothing if BitBltSimulation is not
> there. If you load VMMaker, both tests give errors. The VM in use should be
> irrelevant, this is pure Smalltalk.
>
I understand that. I have an image containing BitBltSimulation and 5
different VMs :) I'm developing Cog, a faster Squeak VM. In my image with
BitBltSimulation present all 10 BitBltTest tests pass. But I have done some
work on the simulator.
I am asking you to help me reproduce the bug and then I can export the fixes
from my VM to fix VMMaker. What version of VMMaker are you using?
> It is a very bad idea to have a test do nothing under default conditions!
> (i.e. no special packages such as VMMaker loaded) That's why I moved both to
> a new class, that should be part of VMMaker, and removed that silly check
> for BitBltSimulation. This is included in the stuff I attached to
> http://bugs.squeak.org/view.php?id=7407 .
>
> Cheers,
> Juan Vuletich
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20091026/34ac9092/attachment.htm
More information about the Vm-dev
mailing list