Hi John,

    here's the fix for signed32BitValueOf:


On Tue, Nov 25, 2008 at 11:15 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:
I noted the the current VMs don't handle the case of storing −2,147,483,648 (primitive failure) via  signed32BitValueOf:  usually called via FFI  signedLongAt:put:

For plugin writers who used signed64BitValueOf: (primitive failure) and   signed64BitIntegerFor:  returned  zero if passed −9,223,372,036,854,775,808.
signed64BitIntegerFor: is the one that is nasty since your value of 0x8000000000000000  silently turns in 0.

I reopened problem http://bugs.squeak.org/view.php?id=6987 and wrote some SUnits.

I also provided a suggested fix, which allows me to run the SUnits.

Lastly for Alien I added long long (signed/unsigned) support which is still missing in the FFI plugin so I could do some testing.


--
===========================================================================
John M. McIntosh <johnmci@smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================