[Vm-dev] VM Maker: VMMaker.oscogSPC-eem.2121.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Feb 5 21:34:39 UTC 2017


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

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

Name: VMMaker.oscogSPC-eem.2121
Author: eem
Time: 5 February 2017, 1:33:43.291073 pm
UUID: abe8d392-f88f-4a14-9149-ae41afe9ecf2
Ancestors: VMMaker.oscogSPC-eem.2120

Fix a couple of typos that cause the generated C code to miscompile or not compile.

=============== Diff against VMMaker.oscogSPC-eem.2120 ===============

Item was changed:
  ----- Method: CogObjectRepresentationForSpur>>branchIf:isNotOop:target: (in category 'sista support') -----
+ branchIf: reg isNotOop:  oop target: targetFixUp
- branchIf: reg isNotOop:  oop target: targetFixup
  	<var: #targetFixUp type: #'AbstractInstruction *'>
  	<inline: true>
  	cogit CmpCq: oop R: reg.
+ 	cogit JumpNonZero: targetFixUp.
+ 	^0!
- 	cogit JumpNonZero: targetFixup.
- 	^ 0!

Item was changed:
  ----- Method: CogObjectRepresentationForSpur>>branchIf:isOop:target: (in category 'sista support') -----
+ branchIf: reg isOop:  oop target: targetFixUp
- branchIf: reg isOop:  oop target: targetFixup
  	<var: #targetFixUp type: #'AbstractInstruction *'>
  	<inline: true>
  	cogit CmpCq: oop R: reg.
+ 	cogit JumpZero: targetFixUp.
+ 	^0!
- 	cogit JumpZero: targetFixup.
- 	^ 0!

Item was changed:
  ----- Method: SpurPlanningCompactor>>unmarkObjectsAfterLastMobileObject (in category 'compaction') -----
  unmarkObjectsAfterLastMobileObject
  	"Sweep the final immobile heap, freeing and coalescing unmarked and free objects,
  	 and unmarking all marked objects up to the end of memory."
  	| startOfFree freeBytes |
  	freeBytes := 0.
  	manager allOldSpaceEntitiesFrom: objectAfterLastMobileObject do:
  		[:o|
  		self check: o.
  		(manager isMarked: o)
  			ifFalse:
  				[startOfFree ifNil: [startOfFree := manager startOfObject: o].
+ 				 freeBytes := freeBytes + (manager bytesInObject: o)]
- 				 freeBytes := freeBytes + manager bytesInObject: o]
  			ifTrue:
  				[startOfFree ifNotNil:
  					[manager addFreeChunkWithBytes: freeBytes at: startOfFree.
  					 startOfFree := nil.
  					 freeBytes := 0].
+ 				 (manager isPinned: o)
+ 					ifTrue: [self unmarkPinned: o]
+ 					ifFalse: [manager setIsMarkedOf: o to: false]]]!
- 				 (manager isSegmentBridge: o) ifFalse:
- 					[manager setIsMarkedOf: o to: false]]]!



More information about the Vm-dev mailing list