[squeak-dev] The Trunk: Compiler-eem.228.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Mar 29 22:53:41 UTC 2012
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.228.mcz
==================== Summary ====================
Name: Compiler-eem.228
Author: eem
Time: 29 March 2012, 3:53:13.947 pm
UUID: d35c5eea-e31b-440a-bc18-18a921444c4d
Ancestors: Compiler-eem.227
Fix snafu in Compiler-eem.227 at: => at:ifAbsent:. in decompiler
=============== Diff against Compiler-eem.227 ===============
Item was changed:
----- Method: DecompilerConstructorForClosures>>codeMethod:block:tempVars:primitive:class: (in category 'constructor') -----
codeMethod: selector block: block tempVars: vars primitive: primitive class: class
| blockNode selectorNode visibleTemps invisibleTemps arguments temporaries properties |
selectorNode := self codeSelector: selector code: nil.
tempVars := vars.
visibleTemps := OrderedCollection new.
invisibleTemps := OrderedCollection new.
tempVars do: [:t|
((t isIndirectTempVector or: [t scope >= 0])
ifTrue: [visibleTemps]
ifFalse: [invisibleTemps]) addLast: t].
arguments := visibleTemps copyFrom: 1 to: nArgs.
temporaries := visibleTemps copyFrom: nArgs + 1 to: visibleTemps size.
block
arguments: arguments;
temporaries: temporaries.
properties := method properties copy.
+ (properties at: #onceCache ifAbsent: []) ifNotNil:
- (properties at: #onceCache) ifNotNil:
[:onceCache|
properties := properties copyWithout: (Association
key: #onceCache
value: onceCache)].
blockNode := MethodNode new
selector: selectorNode
arguments: arguments
precedence: selector precedence
temporaries: temporaries
block: block
encoder: (EncoderForV3PlusClosures new initScopeAndLiteralTables
temps: visibleTemps, invisibleTemps
literals: literalValues
class: class)
primitive: primitive
properties: properties.
blockNode properties method: blockNode.
^blockNode!
More information about the Squeak-dev
mailing list
|