[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