[Vm-dev] VM Maker: VMMaker.oscog-eem.628.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Mar 6 19:12:27 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.628.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.628
Author: eem
Time: 6 March 2014, 11:09:13.87 am
UUID: 0984b1b6-9b3f-44a5-96fe-afc61f43c9a1
Ancestors: VMMaker.oscog-eem.627
Fix slip in objCouldBeClassObj:
objectMemory rawHashBitsOf: objOop should read
objectMemory rawHashBitsOf: fieldOop
=============== Diff against VMMaker.oscog-eem.627 ===============
Item was changed:
----- Method: StackInterpreter>>objCouldBeClassObj: (in category 'debug support') -----
objCouldBeClassObj: objOop
"Answer if objOop looks like a class object. WIth Spur be lenient if the object doesn't
yet have a hash (i.e. is not yet in the classTable), and accept forwarding pointers."
<inline: false>
| fieldOop |
^(objectMemory isPointersNonImm: objOop)
+ and: [(objectMemory numSlotsOf: objOop) > InstanceSpecificationIndex
- and: [(objectMemory numSlotsOf: objOop) >= (InstanceSpecificationIndex+1)
and: [fieldOop := objectMemory fetchPointer: SuperclassIndex ofObject: objOop.
+ ((objectMemory isNonImmediate: fieldOop)
+ and:[ (objectMemory isPointersNonImm: fieldOop)
+ or: [(objectMemory rawHashBitsOf: fieldOop) = 0
+ and: [(objectMemory isOopForwarded: fieldOop)
+ and: [objectMemory isPointers: (objectMemory followForwarded: fieldOop)]]]])
- ((objectMemory isPointers: fieldOop)
- or: [(objectMemory rawHashBitsOf: objOop) = 0
- and: [(objectMemory isOopForwarded: fieldOop)
- and: [objectMemory isPointers: (objectMemory followForwarded: fieldOop)]]])
and: [fieldOop := objectMemory fetchPointer: MethodDictionaryIndex ofObject: objOop.
+ ((objectMemory isNonImmediate: fieldOop)
+ and:[ (objectMemory isPointersNonImm: fieldOop)
+ or: [(objectMemory rawHashBitsOf: fieldOop) = 0
+ and: [(objectMemory isOopForwarded: fieldOop)
+ and: [objectMemory isPointers: (objectMemory followForwarded: fieldOop)]]]])
- ((objectMemory isPointers: fieldOop)
- or: [(objectMemory rawHashBitsOf: objOop) = 0
- and: [(objectMemory isOopForwarded: fieldOop)
- and: [objectMemory isPointers: (objectMemory followForwarded: fieldOop)]]])
and: [(objectMemory isIntegerObject: (objectMemory fetchPointer: InstanceSpecificationIndex ofObject: objOop))]]]]!
More information about the Vm-dev
mailing list