[Vm-dev] VM Maker: VMMaker-dtl.319.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Apr 13 20:04:41 UTC 2013


David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.319.mcz

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

Name: VMMaker-dtl.319
Author: dtl
Time: 13 April 2013, 4:03:18.985 pm
UUID: d058d88c-331d-47ef-b178-fd26ca3de120
Ancestors: VMMaker-dtl.318

VMMaker 4.12.3
Fix errors in VMMaker-dtl.317
Move NewObjectMemory>>addressCouldBeObj: to ObjectMemory
Use latest version of floatArg: with assertions removed.

=============== Diff against VMMaker-dtl.318 ===============

Item was changed:
  ----- Method: InterpreterPrimitives>>floatArg: (in category 'plugin primitive support') -----
  floatArg: index
  	"Like #stackFloatValue: but access method arguments left-to-right"
+ 	| oop |
- 	| result oop |
  	<returnTypeC: #double>
- 	<var: #result type: #double>
  	oop := self methodArg: index.
  	oop = 0 ifTrue:[^0.0]. "methodArg: failed"
+ 	^self floatValueOf: oop!
- 	"N.B.  Because Slang always inlines assertClassOf:is:compactClassIndex:
- 	 (because assertClassOf:is:compactClassIndex: has an inline: pragma) the
- 	 phrase (self splObj: ClassArray) is expanded in-place and is _not_
- 	 evaluated if ClassArrayCompactIndex is non-zero."
- 	self assertClassOf: oop is: (objectMemory splObj: ClassFloat)
- 		compactClassIndex: ClassFloatCompactIndex.
- 	self successful ifTrue:
- 		[self cCode: '' inSmalltalk: [result := Float new: 2].
- 		objectMemory fetchFloatAt: oop + self baseHeaderSize into: result.
- 		^result].
- 	^0.0!

Item was removed:
- ----- Method: NewObjectMemory>>addressCouldBeObj: (in category 'debug support') -----
- addressCouldBeObj: address
- 	<api>
- 	"Answer if address appears to be that of an object, which implies it is
- 	 safe to fetch the class and size. For code disassembly and assertions."
- 	^(address bitAnd: 3) = 0
- 	  and: [address asUnsignedInteger >= self startOfMemory
- 	  and: [address asUnsignedInteger < freeStart
- 	  and: [(self headerType: address) ~= HeaderTypeGC]]]!

Item was removed:
- ----- Method: NewObjectMemory>>addressCouldBeObjWhileForwarding: (in category 'debug support') -----
- addressCouldBeObjWhileForwarding: address
- 	"Answer if address appears to be that of an object, which implies it is
- 	 safe to fetch the class and size. For code disassembly and assertions."
- 	^(address bitAnd: 3) = 0
- 	  and: [address asUnsignedInteger >= self startOfMemory
- 	  and: [address asUnsignedInteger < freeStart]]!

Item was added:
+ ----- Method: ObjectMemory>>addressCouldBeObj: (in category 'debug support') -----
+ addressCouldBeObj: address
+ 	<api>
+ 	"Answer if address appears to be that of an object, which implies it is
+ 	 safe to fetch the class and size. For code disassembly and assertions."
+ 	^(address bitAnd: 3) = 0
+ 	  and: [address asUnsignedInteger >= self startOfMemory
+ 	  and: [address asUnsignedInteger < freeBlock
+ 	  and: [(self headerType: address) ~= HeaderTypeGC]]]!

Item was changed:
  ----- Method: VMMaker class>>versionString (in category 'version testing') -----
  versionString
  
  	"VMMaker versionString"
  
+ 	^'4.12.3'!
- 	^'4.12.2'!



More information about the Vm-dev mailing list