[squeak-dev] [Vm-dev] VM Maker: VMMaker.oscog-eem.2606.mcz

Eliot Miranda eliot.miranda at gmail.com
Thu Dec 12 08:37:04 UTC 2019


Hi Chris,

> On Dec 11, 2019, at 8:03 PM, Chris Muller <asqueaker at gmail.com> wrote:
> 
> 
> Is this a fix we should want in the 5.3 release?

I do t think it affects the release.  This only affects builds that use a particular version of gcc on ARM64. As far as we’re aware, it doesn’t affect x86-64 builds.  But if anyone sees the issue in a current build they should say so asap.

> 
>> On Wed, Dec 11, 2019 at 2:09 PM <commits at source.squeak.org> wrote:
>>  
>> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
>> http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2606.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: VMMaker.oscog-eem.2606
>> Author: eem
>> Time: 11 December 2019, 12:08:45.007873 pm
>> UUID: be1eac72-340a-4ed5-bfe7-6051597847a4
>> Ancestors: VMMaker.oscog-eem.2605
>> 
>> Fix the "funny floats" issue with gcc et al.  Casting the address of an automatic long to an int * is no longer allowed.  Thanks to Pablo Tessone for the analysis and fix.
>> 
>> =============== Diff against VMMaker.oscog-eem.2605 ===============
>> 
>> Item was changed:
>>   ----- Method: Spur64BitMemoryManager>>fetchLong32:ofFloatObject: (in category 'object access') -----
>>   fetchLong32: fieldIndex ofFloatObject: oop
>>         "index by word size, and return a pointer as long as the word size"
>> 
>>         | bits |
>>         (self isImmediateFloat: oop) ifFalse:
>>                 [^self fetchLong32: fieldIndex ofObject: oop].
>>         bits := self smallFloatBitsOf: oop.
>> +       ^fieldIndex = 0
>> +               ifTrue: [bits bitAnd: 16rFFFFFFFF]
>> +               ifFalse: [bits >> 32]!
>> -       ^self
>> -               cCode: [(self cCoerceSimple: (self addressOf: bits) to: #'int *') at: fieldIndex]
>> -               inSmalltalk:
>> -                       [self flag: #endian.
>> -                        fieldIndex = 0
>> -                               ifTrue: [bits bitAnd: 16rFFFFFFFF]
>> -                               ifFalse: [bits >> 32]]!
>> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191212/f4a457fd/attachment.html>


More information about the Squeak-dev mailing list