[Vm-dev] VM Maker: VMMaker.oscog-cb.1927.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Aug 31 11:51:25 UTC 2016

ClementBera uploaded a new version of VMMaker to project VM Maker:

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

Name: VMMaker.oscog-cb.1927
Author: cb
Time: 31 August 2016, 1:48:20.563669 pm
UUID: d00bfc22-488e-430c-a9f6-90cbaeabdb23
Ancestors: VMMaker.oscog-eem.1926

Now that the trampoline for context inst var store can be called on single contexts, we need to update the trampoline to work with single contexts

=============== Diff against VMMaker.oscog-eem.1926 ===============

Item was changed:
  ----- Method: CoInterpreter>>ceContext:instVar:value: (in category 'trampolines') -----
  ceContext: maybeMarriedContext instVar: slotIndex value: anOop
  	"genStorePop:MaybeContextReceiverVariable: filters out unmarried contexts
  	 but not arbitrary objects in subclasses.  It answers maybeMarriedContext so
  	 that the StackToRegisterMappingCogit can keep ReceiverResultReg live."
+ 	((objectMemory isContextNonImm: maybeMarriedContext) 
+ 	 and: [self isMarriedOrWidowedContext: maybeMarriedContext])
- 	(objectMemory isContextNonImm: maybeMarriedContext)
+ 			[instructionPointer := self popStack.
- 			[self assert: (self isMarriedOrWidowedContext: maybeMarriedContext).
- 			 instructionPointer := self popStack.
  			 self externalInstVar: slotIndex ofContext: maybeMarriedContext put: anOop.
  			 self push: instructionPointer]
  			[objectMemory storePointer: slotIndex ofObject: maybeMarriedContext withValue: anOop].

More information about the Vm-dev mailing list