[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