The Trunk: TemporaryVariableScopeEditor-eem.3.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: TemporaryVariableScopeEditor-eem.3.mcz

commits-2
Eliot Miranda uploaded a new version of TemporaryVariableScopeEditor to project The Trunk:
http://source.squeak.org/trunk/TemporaryVariableScopeEditor-eem.3.mcz

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

Name: TemporaryVariableScopeEditor-eem.3
Author: eem
Time: 6 June 2018, 10:49:12.17059 am
UUID: 6c4b939d-5460-44c5-a5c4-f188ec87b8ea
Ancestors: TemporaryVariableScopeEditor-eem.2

Update the TempScopeEditor to work with arbitrary bytecode sets.

=============== Diff against TemporaryVariableScopeEditor-eem.2 ===============

Item was added:
+ ----- Method: TempScopeEditor class>>scanBlock (in category 'scanning') -----
+ scanBlock
+ ^[:m|
+ m isQuick not
+ and: [(m abstractBytecodeMessageAt: m initialPC) selector = #pushNewArrayOfSize:
+ and: [(m abstractBytecodeMessageAt: (m concretePCForAbstractPC: 2)) selector = #popIntoTemporaryVariable:
+ and: [(self new forMethod: m) misplacedTempsExist]]]]!

Item was changed:
  ----- Method: TempScopeEditor>>edit (in category 'editing') -----
  edit
+ self misplacedTempsExist ifTrue:
- self buildTempMap.
- tempMap notEmpty ifTrue:
  [| mr |
  mr := method methodReference.
  self copyMethodMovingTemps.
  Transcript cr; show: mr actualClass name, ' >> ', mr methodSymbol.
  method methodClass compile: out contents classified: mr category]!

Item was changed:
  ----- Method: TempScopeEditor>>editNoCompile (in category 'editing') -----
  editNoCompile
+ ^self misplacedTempsExist ifTrue:
- self buildTempMap.
- ^tempMap isEmpty ifFalse:
  [self copyMethodMovingTemps.
  out contents]!

Item was added:
+ ----- Method: TempScopeEditor>>misplacedTempsExist (in category 'testing') -----
+ misplacedTempsExist
+ self buildTempMap.
+ ^tempMap notEmpty!