Eliot Miranda uploaded a new version of Compiler to project The Trunk: http://source.squeak.org/trunk/Compiler-eem.483.mcz
==================== Summary ====================
Name: Compiler-eem.483 Author: eem Time: 29 November 2022, 1:46:01.772575 pm UUID: 08cfac57-1240-4bff-bfc9-4af67efb8a5f Ancestors: Compiler-eem.482
Oops! The SistaV1 encoder has been including unnecessarily in the literal frame literals that are encoded in bytecodes (integers and characters in the -32k/32k, 0/64k range). Fix this and recompile.
=============== Diff against Compiler-eem.482 ===============
Item was changed: ----- Method: LiteralNode>>sizeCodeForValue: (in category 'code generation') ----- sizeCodeForValue: encoder - self reserve: encoder. ^(encoder isSpecialLiteralForPush: key) ifTrue: [encoder sizePushSpecialLiteral: key] + ifFalse: + [self reserve: encoder. + encoder sizePushLiteral: index]! - ifFalse: [encoder sizePushLiteral: index]!
Item was changed: (PackageInfo named: 'Compiler') postscript: '"below, add code to be run after the loading of this package"
+ "recompile any and all SistaV1 compiled methods that refer to special literals. These literals were mistakenly included in the literal frame. saves about 200k bytes in a normal 64-bit Squeak image" + | e nm | + e := EncoderForSistaV1 new. + nm := 0. + ''Recompiling'' + displayProgressFrom: 1 + to: CompiledMethod instanceCount + during: + [:bar| + self systemNavigation allSelect: + [:m| | r | + bar value: (nm := nm + 1). + m encoderClass == EncoderForSistaV1 ifTrue: + [ + r := false. + m codeLiteralsDo: + [:cl| + cl literalsDo: [:l| (e isSpecialLiteralForPush: l) ifTrue: [r := true]]]. + r ifTrue: + [nm := nm + 1. + m methodClass recompile: m selector]]. + false]]'! - "Recompile senders of caseOf:" - self systemNavigation allSelectorsAndMethodsDo: [ :behavior :selector :method | - (method hasLiteral: #caseOf:) - ifTrue: [behavior recompile: selector]]. - - "Treat non-breaking space (16ra0) as delimiter in parser/scanner (Compiler-ct.473)." - Scanner initialize.'!
squeak-dev@lists.squeakfoundation.org