[Vm-dev] VM Maker: VMMaker.oscog-nice.1905.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jul 20 17:18:02 UTC 2016

Nicolas Cellier uploaded a new version of VMMaker to project VM Maker:

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

Name: VMMaker.oscog-nice.1905
Author: nice
Time: 20 July 2016, 5:37:48.684832 pm
UUID: dc89d7c4-734c-4c22-b366-3de1c3dbbf42
Ancestors: VMMaker.oscog-nice.1904

Fix declaration of tenuringProportion in SpurGenerationScavenger: it is expected to be a double (between 0.0 and 1.0), not a sqInt.

Fix an incorrect usage of mem:cp:y: (swapping of sourcePointer and byteSize arguments). This method is not in use yet.

=============== Diff against VMMaker.oscog-nice.1904 ===============

Item was changed:
  ----- Method: RegisterAllocatingCogit>>setMergeSimStackOf: (in category 'bytecode generator support') -----
  setMergeSimStackOf: fixup
  	<var: #fixup type: #'BytecodeFixup *'>
  	self assert: nextFixup < numFixups.
  	self moveSimStackConstantsToRegisters.
  	self cCode: [fixup mergeSimStack: mergeSimStacksBase + (nextFixup * self simStackSlots * (self sizeof: CogSimStackEntry))].
  	nextFixup := nextFixup + 1.
+ 	self cCode: [self mem: fixup mergeSimStack cp: simStack y: self simStackSlots * (self sizeof: CogSimStackEntry)]
- 	self cCode: [self mem: fixup mergeSimStack cp: self simStackSlots * (self sizeof: CogSimStackEntry) y: simStack]
  		inSmalltalk: [fixup mergeSimStack: self copySimStack]!

Item was changed:
  ----- Method: SpurGenerationScavenger class>>declareCVarsIn: (in category 'translation') -----
  declareCVarsIn: aCCodeGenerator
  	#(eden futureSpace pastSpace) do:
  		[:var| aCCodeGenerator var: var type: #SpurNewSpaceSpace].
+ 	aCCodeGenerator var: #rememberedSet type: #'sqInt *'.
+ 	aCCodeGenerator var: #tenuringProportion type: #double!
- 	aCCodeGenerator var: #rememberedSet type: #'sqInt *'!

Item was changed:
  ----- Method: SpurGenerationScavenger>>scavengerTenuringThreshold: (in category 'accessing') -----
  scavengerTenuringThreshold: aProportion "(Slang flattens so need unique selectors)"
+ 	<var: 'aProportion' type: #double>
- 	<var: 'aProportion' type: #float>
  	tenuringProportion := aProportion.
  	tenureThreshold := aProportion = 0.0
  							ifTrue: [0]
  							ifFalse: [((pastSpace limit - pastSpace start) * (1.0 - aProportion)) rounded + pastSpace start]!

More information about the Vm-dev mailing list