[Vm-dev] VM Maker: VMMaker.oscog-eem.2725.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Mar 10 19:25:25 UTC 2020


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2725.mcz

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

Name: VMMaker.oscog-eem.2725
Author: eem
Time: 10 March 2020, 12:25:11.601767 pm
UUID: d3f3f9ff-f591-4358-9d5e-3270e0ed6527
Ancestors: VMMaker.oscog-eem.2724

Fix a bogus failing assert over-zealously added to the previous commit.

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

Item was changed:
  ----- Method: SpurMemoryManager>>relocateObjStackForPlanningCompactor:andContents: (in category 'compaction') -----
  relocateObjStackForPlanningCompactor: objStack andContents: relocateContents
  	"Relocate all objStack pages that comprise objStack."
  	| stackOrNil freeList next relocated result |
  	objStack = nilObj ifTrue:
  		[^objStack].
+ 	self assert: (relocateContents or: [(self isEmptyObjStack: objStack) or: [compactor isMobile: objStack]]).
  	stackOrNil := objStack.
  	freeList := self fetchPointer: ObjStackFreex ofObject: objStack.
  	[self assert: (self numSlotsOfAny: stackOrNil) = ObjStackPageSlots.
  	 "There are four fixed slots in an obj stack, and a Topx of 0 indicates empty, so
  	   if there were 5 slots in an oop stack, full would be 2, and the last 0-rel index is 4.
  	   Hence the last index is topx + fixed slots - 1, or topx + ObjStackNextx"
  	 next := self fetchPointer: ObjStackNextx ofObject: stackOrNil.
  	 relocated := compactor
  					relocateObjectsInHeapEntity: stackOrNil
  					from: ObjStackFreex
  					to: ObjStackNextx + (relocateContents ifTrue: [self rawHashBitsOf: stackOrNil] ifFalse: [0]).
  	 stackOrNil = objStack ifTrue:
  		[result := relocated].
  	 next ~= 0]
  		whileTrue:
  			[stackOrNil := next].
  	[freeList ~= 0] whileTrue:
  		[self assert: (self numSlotsOfAny: freeList) = ObjStackPageSlots.
  		 next := self fetchPointer: ObjStackFreex ofObject: freeList.
  		 compactor
  			relocateObjectsInHeapEntity: freeList
  			from: ObjStackFreex
  			to: ObjStackFreex.
  		 freeList := next].
+ 	self assert: (relocateContents or: [self isEmptyObjStack: relocated]).
  	^relocated!

Item was changed:
  ----- Method: SpurMemoryManager>>relocateObjStacksForPlanningCompactor (in category 'compaction') -----
  relocateObjStacksForPlanningCompactor
  	"Relocate all non-empty objStack pages, following the objStacks from the roots."
  
- 	self assert: (self isEmptyObjStack: markStack).
  	markStack := self relocateObjStackForPlanningCompactor: markStack andContents: false.
- 	self assert: (self isEmptyObjStack: weaklingStack).
  	weaklingStack := self relocateObjStackForPlanningCompactor: weaklingStack andContents: false.
+ 	mournQueue := self relocateObjStackForPlanningCompactor: mournQueue andContents: true!
- 	mournQueue := self relocateObjStackForPlanningCompactor: mournQueue andContents: true.!



More information about the Vm-dev mailing list