[Vm-dev] Mantis 0007265: Bug in Matrix2x3Plugin okayIntValue: (was: two small bugs (vm related))

David T. Lewis lewis at mail.msen.com
Sun Sep 13 23:17:51 UTC 2015


On Sun, Sep 13, 2015 at 10:23:42PM +0200, Nicolai Hess wrote:
>  
> I am about to close some old mantis reports.
> 
> There are two issues related to the vm and easy to solve ( I think).
> 
> http://bugs.squeak.org/view.php?id=7265
> 
> 0007265: Bug in Matrix2x3Plugin okayIntValue:
> Method
> okayIntValue: value
> uses argument to compare with lower bound, m23ResultX for upper bound.
> 
> okayIntValue: value
>     ^(value >= -1073741824 asFloat and:[m23ResultX <= 1073741823 asFloat])
> 
> should be:
> okayIntValue: value
>     ^(value >= -1073741824 asFloat and:[value <= 1073741823 asFloat])
> 
> I looked at the Matrix2x3Plugin code, and the wrong comparsion
> is still there.

I am quite sure you are right about this, just from looking at the code.
But I do want to check - the method is from ar 1998, so it has been in all
the VMs for a very long time. How did you find the problem? Is there a
test or an example that shows the issue?

After fixing the method as you suggest, it will test for integer values
with bit values in the range 11000000000000000000000000000000 through
00111111111111111111111111111111, which presumably maps to a range of
acceptable values for use in the Matrix2x3Plugin floating point operations.
So that looks quite reasonable, but I am puzzled that this check has been
wrong since 1998, so that is why I ask.

Thanks!

Dave



More information about the Vm-dev mailing list