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

Eliot Miranda eliot.miranda at gmail.com
Sun Jun 28 03:23:28 UTC 2015


Hi Clément,

    your code is quite correct. But the old code used two registers and I think that using two registers could be faster depending on processor micro architecture.  So I wrote a version that used two registers if possible.  Since I doubt it'll make any measurable difference (remote temps are rare and the cost of the sequence will be dominated by the reads) I reverted back to your original.  But the support method might be useful.  Sorry fir the noise.

Eliot (phone)

On Jun 27, 2015, at 3:25 PM, Clément Bera <bera.clement at gmail.com> wrote:

> I am confused, what did you do in the two last commits ?
> 
> What is example response ?
> 
> Was my code correct ? I tried the simulator only and it worked fine. 
> 
> 2015-06-27 21:44 GMT+02:00 <commits at source.squeak.org>:
>> 
>> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
>> http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1391.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: VMMaker.oscog-eem.1391
>> Author: eem
>> Time: 27 June 2015, 12:43:14.39 pm
>> UUID: bdc64a36-203a-4f8f-b8e9-53ef7e41bfb9
>> Ancestors: VMMaker.oscog-eem.1390
>> 
>> Revert back to Clément's version of
>> genPushRemoteTempLongBytecode now that
>> example response has been committed.
>> 
>> =============== Diff against VMMaker.oscog-eem.1390 ===============
>> 
>> Item was changed:
>>   ----- Method: StackToRegisterMappingCogit>>genPushRemoteTempLongBytecode (in category 'bytecode generators') -----
>>   genPushRemoteTempLongBytecode
>> +       | newReg |
>> -       | newReg freeReg |
>>         newReg := self allocateRegNotConflictingWith: 0.
>> +       self MoveMw: (self frameOffsetOfTemporary: byte2) r: FPReg R: newReg.
>> -       freeReg := self availableRegNotConflictingWith: (self registerMaskFor: newReg).
>> -       self MoveMw: (self frameOffsetOfTemporary: byte2) r: FPReg R: (freeReg ifNil: newReg).
>>         objectRepresentation
>>                 genLoadSlot: byte1
>> +               sourceReg: newReg
>> -               sourceReg: (freeReg ifNil: newReg)
>>                 destReg: newReg.
>>         ^self ssPushRegister: newReg!
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150627/36fc373c/attachment.htm


More information about the Vm-dev mailing list