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 = = = ========================================================================
vm-dev@lists.squeakfoundation.org