[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:

==================== 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') -----
  	"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