[Vm-dev] VM Maker: ..VMMaker.oscog-eem.617.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Feb 13 17:44:13 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/..VMMaker.oscog-eem.617.mcz
==================== Summary ====================
Name: ..VMMaker.oscog-eem.617
Author: eem
Time: 13 February 2014, 9:38:02.186 am
UUID: 522aeee6-194d-4777-a4a5-19e312108e86
Ancestors: ..VMMaker.oscog-eem.616
Use Smalltalk vm getSystemAttribute: instead of plain old
Smalltalk getSystemAttribute:
=============== Diff against ..VMMaker.oscog-eem.616 ===============
Item was changed:
----- Method: CogVMSimulator>>primitiveGetAttribute (in category 'other primitives') -----
primitiveGetAttribute
"Fetch the system attribute with the given integer ID. The result is a string, which will be empty if the attribute is not defined."
| index s attribute |
index := self stackIntegerValue: 0.
self successful ifTrue: [
+ attribute := systemAttributes at: index ifAbsent: [Smalltalk vm getSystemAttribute: index].
- attribute := systemAttributes at: index ifAbsent: [Smalltalk getSystemAttribute: index].
attribute ifNil: [ ^self primitiveFail ].
s := objectMemory instantiateClass: (objectMemory splObj: ClassByteString) indexableSize: attribute size.
1 to: attribute size do: [ :i |
objectMemory storeByte: i-1 ofObject: s withValue: (attribute at: i) asciiValue].
+ self pop: 2 "rcvr, attr" thenPush: s]!
- self pop: 2. "rcvr, attr"
- self push: s]!
Item was changed:
----- Method: InterpreterSimulator>>primitiveGetAttribute (in category 'other primitives') -----
primitiveGetAttribute
"Fetch the system attribute with the given integer ID. The result is a string, which will be empty if the attribute is not defined."
| attr s attribute |
attr := self stackIntegerValue: 0.
successFlag ifTrue: [
+ attribute := Smalltalk vm getSystemAttribute: attr.
- attribute := Smalltalk getSystemAttribute: attr.
attribute ifNil: [ ^self primitiveFail ].
s := self instantiateClass: (self splObj: ClassByteString) indexableSize: attribute size.
1 to: attribute size do: [ :i |
self storeByte: i-1 ofObject: s withValue: (attribute at: i) asciiValue].
+ self pop: 2 "rcvr, attr" thenPush: s].
- self pop: 2. "rcvr, attr"
- self push: s].
!
Item was changed:
----- Method: NewspeakInterpreterSimulator>>primitiveGetAttribute (in category 'other primitives') -----
primitiveGetAttribute
"Fetch the system attribute with the given integer ID. The result is a string, which will be empty if the attribute is not defined."
| attr s attribute |
attr := self stackIntegerValue: 0.
self successful ifTrue: [
+ attribute := Smalltalk vm getSystemAttribute: attr.
- attribute := Smalltalk getSystemAttribute: attr.
attribute ifNil: [ ^self primitiveFail ].
s := self instantiateClass: (self splObj: ClassByteString) indexableSize: attribute size.
1 to: attribute size do: [ :i |
self storeByte: i-1 ofObject: s withValue: (attribute at: i) asciiValue].
+ self pop: 2 "rcvr, attr" thenPush: s].
- self pop: 2. "rcvr, attr"
- self push: s].
!
Item was changed:
----- Method: StackInterpreterSimulator>>primitiveGetAttribute (in category 'other primitives') -----
primitiveGetAttribute
"Fetch the system attribute with the given integer ID. The result is a string, which will be empty if the attribute is not defined."
| index s attribute |
index := self stackIntegerValue: 0.
self successful ifTrue: [
+ attribute := systemAttributes at: index ifAbsent: [Smalltalk vm getSystemAttribute: index].
- attribute := systemAttributes at: index ifAbsent: [Smalltalk getSystemAttribute: index].
attribute ifNil: [ ^self primitiveFail ].
s := objectMemory instantiateClass: (objectMemory splObj: ClassByteString) indexableSize: attribute size.
1 to: attribute size do: [ :i |
objectMemory storeByte: i-1 ofObject: s withValue: (attribute at: i) asciiValue].
+ self pop: 2 "rcvr, attr" thenPush: s]!
- self pop: 2. "rcvr, attr"
- self push: s]!
More information about the Vm-dev
mailing list