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

commits at source.squeak.org commits at source.squeak.org
Wed Mar 5 22:29:23 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.627.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.627
Author: eem
Time: 5 March 2014, 2:28:44.296 pm
UUID: e34ab5ac-3db8-4b8d-8e5f-722905cea020
Ancestors: VMMaker.oscog-eem.626

Fix startPCOrNilOfLiteral:in: (for scanForCleanBlocks) for newspeak
accessors in Spur.

=============== Diff against VMMaker.oscog-eem.626 ===============

Item was changed:
  ----- Method: CoInterpreter>>startPCOrNilOfLiteral:in: (in category 'cog jit support') -----
  startPCOrNilOfLiteral: lit in: aMethodObj
+ 	"Answer the startPC of lit if it is a (clean) block in aMethodObj, otherwise answer nil."
- 	"Answer the startPC of lit if it is a (clean) block in aMethodObj, oitherwise answer nil."
  	<api>
  	| outerContext |
+ 	((objectMemory isNonImmediate: lit)
+ 	 and: [(objectMemory formatOf: lit) = objectMemory indexablePointersFormat
+ 	 and: [(objectMemory numSlotsOf: lit) >= ClosureCopiedValuesIndex]]) ifFalse:
- 	(objectMemory isImmediate: lit) ifTrue:
  		[^nil].
- 	(objectMemory lastPointerOf: lit) <= ClosureCopiedValuesIndex ifTrue:
- 		[^nil].
- 	(objectMemory isArrayNonImm: lit) ifTrue:
- 		[^nil].
  	outerContext := objectMemory fetchPointer: ClosureOuterContextIndex ofObject: lit.
  	(objectMemory isContext: outerContext) ifFalse:
  		[^nil].
  	aMethodObj ~~ (objectMemory fetchPointer: MethodIndex ofObject: outerContext) ifTrue:
  		[^nil].
  	^self quickFetchInteger: ClosureStartPCIndex ofObject: lit!



More information about the Vm-dev mailing list