[Vm-dev] VM Maker: VMMaker.oscog-eem.3292.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Jan 12 21:23:18 UTC 2023
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3292.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3292
Author: eem
Time: 12 January 2023, 1:22:56.040899 pm
UUID: 18300d37-96c7-4570-9b62-1660bd97f6f2
Ancestors: VMMaker.oscog-eem.3291
And update storeLiteralVariable:withValue: to match.
=============== Diff against VMMaker.oscog-eem.3291 ===============
Item was changed:
----- Method: StackInterpreter>>storeLiteralVariable:withValue: (in category 'stack bytecodes') -----
storeLiteralVariable: literalIndex withValue: anObject
| litVar |
+ "In Spur:
+ push/store/popLiteralVariable all fetch a literal, and either read or write the literal's value field.
+ The fetch of the literal needs an explicit check (otherwise we would have to scan all literals in
+ all methods in the stack zone, and the entire method on return, and global variables are relatively
+ rare; in my work image 8.7% of literals are globals)."
+ litVar := self followLiteral: literalIndex ofMethod: method.
- litVar := self literal: literalIndex.
- "push/store/popLiteralVariable all fetch a literal, and either read or write the literal's value field.
- The fetch of the literal needs an explicit check (otherwise we would have to scan all literals in
- all methods in the stack zone, and the entire method on return, and global variables are relatively
- rare; in my work image 8.7% of literals are globals)."
-
- (objectMemory isForwarded: litVar) ifTrue:
- [litVar := self unfollow: litVar atIndex: literalIndex].
objectMemory storePointerImmutabilityCheck: ValueIndex ofObject: litVar withValue: anObject!
More information about the Vm-dev
mailing list