Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.379.mcz==================== Summary ====================
Name: Compiler-eem.379
Author: eem
Time: 20 March 2018, 3:27:27.12646 pm
UUID: b3856f24-9d98-478a-936f-c6d24d667be4
Ancestors: Compiler-eem.378
Add initialization of the Undeclared variable addedExtraLiterals which is soon to be a replacement for Encoder's addedSelectorAndMethodClassLiterals, a name which is now misleading given the new full block support. By adding the initialization of the Undeclared variable the compiler is not broken as the instance variable is renamed and Encoder's methods are recompiled.
=============== Diff against Compiler-eem.378 ===============
Item was changed:
----- Method: BytecodeEncoder>>resetForFullBlockGeneration (in category 'code generation') -----
resetForFullBlockGeneration
literalStream := WriteStream on: (Array new: 8).
+ addedSelectorAndMethodClassLiterals := addedExtraLiterals := false.
- addedSelectorAndMethodClassLiterals := false.
optimizedSelectors := Set new!
Item was changed:
----- Method: BytecodeEncoder>>resetLiteralStreamForFullBlock (in category 'code generation') -----
resetLiteralStreamForFullBlock
literalStream := WriteStream on: (Array new: 32).
+ addedSelectorAndMethodClassLiterals := addedExtraLiterals := false.
- addedSelectorAndMethodClassLiterals := false.
optimizedSelectors := Set new!
Item was changed:
----- Method: Encoder>>initScopeAndLiteralTables (in category 'initialize-release') -----
initScopeAndLiteralTables
scopeTable := StdVariables copy.
litSet := StdLiterals copy.
"comments can be left hanging on nodes from previous compilations.
probably better than this hack fix is to create the nodes afresh on each compilation."
scopeTable do:
[:varNode| varNode comment: nil].
litSet do:
[:varNode| varNode comment: nil].
selectorSet := StdSelectors copy.
litIndSet := Dictionary new: 16.
literalStream := WriteStream on: (Array new: 32).
+ addedSelectorAndMethodClassLiterals := addedExtraLiterals := false.
- addedSelectorAndMethodClassLiterals := false.
optimizedSelectors := Set new!