[Vm-dev] VM Maker: VMMaker.oscog-nice.1853.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Apr 29 21:02:08 UTC 2016
Nicolas Cellier uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-nice.1853.mcz
==================== Summary ====================
Name: VMMaker.oscog-nice.1853
Author: nice
Time: 29 April 2016, 10:58:38.094 pm
UUID: 3ff63b2d-9dc9-4d6a-b3ff-fb6d37f1085e
Ancestors: VMMaker.oscog-nice.1852
Fix missing comparison operation in genPrimitiveIdentical. This should fix Character = problem encounterd in Cuis.
Comment concretizePrefetchAw, and store machineCode in last statement so as to avoid a -Wunused-value warning.
=============== Diff against VMMaker.oscog-nice.1852 ===============
Item was changed:
----- Method: CogIA32Compiler>>concretizePrefetchAw (in category 'generate machine code') -----
concretizePrefetchAw
"Will get inlined into concretizeAt: switch."
<inline: true>
| addressOperand |
+ "Note that maxSize has been set to 7 or 0 in computeMaximumSize whether hasSSEInstructions or not"
- machineCodeSize := maxSize.
maxSize > 0 ifTrue:
[addressOperand := operands at: 0.
machineCode
at: 0 put: 16r0f;
at: 1 put: 16r18;
at: 2 put: (self mod: 0 RM: 5 RO: 1); "prefetch0, prefetch using the T0 temporal data hint"
at: 3 put: (addressOperand bitAnd: 16rFF);
at: 4 put: (addressOperand >> 8 bitAnd: 16rFF);
at: 5 put: (addressOperand >> 16 bitAnd: 16rFF);
at: 6 put: (addressOperand >> 24 bitAnd: 16rFF)].
+ ^machineCodeSize := maxSize!
- ^maxSize!
Item was changed:
----- Method: CogObjectRepresentationForSqueakV3>>genPrimitiveIdenticalOrNotIf: (in category 'primitive generators') -----
genPrimitiveIdenticalOrNotIf: orNot
| jumpCmp |
<var: #jumpCmp type: #'AbstractInstruction *'>
cogit genLoadArgAtDepth: 0 into: Arg0Reg.
+ cogit CmpR: Arg0Reg R: ReceiverResultReg.
jumpCmp := orNot
ifTrue: [cogit JumpZero: 0]
ifFalse: [cogit JumpNonZero: 0].
cogit genMoveTrueR: ReceiverResultReg.
cogit genPrimReturn.
jumpCmp jmpTarget: (cogit genMoveFalseR: ReceiverResultReg).
cogit genPrimReturn.
^UnfailingPrimitive!
More information about the Vm-dev
mailing list