[Vm-dev] VM Maker: VMMaker.oscog-cb.1658.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jan 20 09:39:17 UTC 2016
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-cb.1658.mcz
==================== Summary ====================
Name: VMMaker.oscog-cb.1658
Author: cb
Time: 20 January 2016, 10:38:00.364 am
UUID: 0668be84-e0ef-4922-9a8f-0fa6b311eb68
Ancestors: VMMaker.oscog-eem.1657
Ahah I had just a conflict with another mapped entry.
Now primitive with error code have correct mapped entries
I have an extra nop when generating primitive with error code only, which sounds acceptable
=============== Diff against VMMaker.oscog-eem.1657 ===============
Item was changed:
----- Method: Cogit>>compileMethodBody (in category 'compile abstract instructions') -----
compileMethodBody
"Compile the top-level method body."
| deltaForPrimErrorCode |
<inline: true>
endPC < initialPC ifTrue: [^0]. "quick primitives"
deltaForPrimErrorCode := self methodUsesPrimitiveErrorCode
+ ifTrue:
+ [ self cppIf: IMMUTABILITY ifTrue:
+ [ self Nop. "to avoid conflict with interrrupt check mapping".
+ self annotateBytecode: self Label ].
+ (coInterpreter sizeOfCallPrimitiveBytecode: methodHeader)
- ifTrue: [(coInterpreter sizeOfCallPrimitiveBytecode: methodHeader)
+ (coInterpreter sizeOfLongStoreTempBytecode: methodHeader)]
ifFalse: [0].
^self compileAbstractInstructionsFrom: initialPC + deltaForPrimErrorCode through: endPC!
More information about the Vm-dev
mailing list