[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