Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.497.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.497 Author: eem Time: 2 November 2013, 1:59:18.327 pm UUID: e1a38963-1741-4d75-99ae-af7006087d85 Ancestors: VMMaker.oscog-eem.496
Rescue the translated primitives by adding the missing removeFinalReturnIn: to statementsFor:varName:
Work-around Slang limitations with the new shouldBeTenured:; mark it as <inline: false>.
=============== Diff against VMMaker.oscog-eem.496 ===============
Item was changed: ----- Method: SpurGenerationScavenger>>shouldBeTenured: (in category 'scavenger') ----- shouldBeTenured: survivor "Answer if an object should be tenured. The default policy tenuring policy is to use the tenuringThreshold to decide. If the survivors (measured in bytes) are above some fraction of the survivor space then objects below the threshold (older objects, since allocation grows upwards and hence new objects are later than old) are scavenged. Otherwise, the threshold is set to 0 and no objects are tenured. e.g. see An adaptive tenuring policy for generation scavengers, David Ungar & Frank Jackson. ACM TOPLAS, Volume 14 Issue 1, Jan. 1992, pp 1 - 27.
The other policies are for special purposes." + <inline: false> "Slang limitations given this used in (... or: []) ifTrue:" - ^tenureCriterion caseOf: { [TenureByAge] -> [survivor < tenureThreshold]. [TenureByClass] -> [(manager classIndexOf: survivor) = tenuringClassIndex]. [DontTenureButDoUnmark] -> [manager setIsMarkedOf: survivor to: false. false] } otherwise: [false]!
Item was changed: ----- Method: TMethod>>statementsFor:varName: (in category 'primitive compilation') ----- statementsFor: sourceText varName: varName "Return the parse tree for the given expression. The result is the statements list of the method parsed from the given source text." "Details: Various variables are declared as locals to avoid Undeclared warnings from the parser."
| s | s := WriteStream on: ''. s nextPutAll: 'temp'; cr; cr; tab. self printTempsAndVar: varName on: s. s nextPutAll: sourceText. ^ ((Compiler new parse: s contents in: Object notifying: nil) + asTranslationMethodOfClass: self class) + removeFinalSelfReturnIn: nil; + statements - asTranslationMethodOfClass: self class) statements !
vm-dev@lists.squeakfoundation.org