[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