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

Eliot Miranda eliot.miranda at gmail.com
Fri Dec 13 17:43:51 UTC 2019


Hi Board,

> On Dec 12, 2019, at 4:30 PM, Levente Uzonyi <leves at caesar.elte.hu> wrote:
> 
> Hi Eliot,
> 
>> On Thu, 12 Dec 2019, Eliot Miranda wrote:
>> 
>> Hi Levente,
>> 
>>>> On Thu, 12 Dec 2019, Levente Uzonyi wrote:
>>>> Hi Eliot,
>>>>> On Thu, 12 Dec 2019, Eliot Miranda wrote:
>>>>> 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.
>>>> This seems to be the same bug described in this thread: http://forum.world.st/Primitive-40-asFloat-fails-for-me-tp5095689p5095908.html
>> 
>>>> On Dec 12, 2019, at 2:45 AM, Levente Uzonyi <leves at caesar.elte.hu> wrote:
>>> And the point is that the bug causes issues on x86.
>> 
>> Thanks!  Will fix asap and communicate with the board if this implies we need a different release candidate VM.
> 
> I just built a new 64-bit VM with gcc 8.3, and the floating point issue with #basicAt: seems fixed. I ran some tests in the image, and they all passed.

So we do need to change the release candidate VM to the current one.  But let’s wait until the Linux build sndio configuration issue isn’t resolved before we make what is hopefully the final choice.

> 
> Levente
> 
> P.S.: there is a configuration issue with the new sndio sound plugin. The build script tries to build it on linux and fails.
> 
>> 
>>>> Levente
>>>>> 
>>>>>>     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]]!
> 


More information about the Squeak-dev mailing list