[Vm-dev] VM Maker: VMMaker.oscog-eem.1391.mcz
eliot.miranda at gmail.com
Sun Jun 28 03:23:28 UTC 2015
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.
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:
>> ==================== 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') -----
>> + | 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).
>> genLoadSlot: byte1
>> + sourceReg: newReg
>> - sourceReg: (freeReg ifNil: newReg)
>> destReg: newReg.
>> ^self ssPushRegister: newReg!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev