The Trunk: Compiler-nice.183.mcz

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

The Trunk: Compiler-nice.183.mcz

commits-2
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.183.mcz

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

Name: Compiler-nice.183
Author: nice
Time: 29 December 2010, 3:54:57.862 pm
UUID: 228c16fb-1ba3-407c-84fd-d5722ca2be2f
Ancestors: Compiler-ul.182

Cosmetic: rename two shadowing temps in order to avoid warnings in Transcript

=============== Diff against Compiler-ul.182 ===============

Item was changed:
  ----- Method: BytecodeEncoder>>blockExtentsToTempsMap (in category 'temps') -----
  blockExtentsToTempsMap
  "Answer a Dictionary of blockExtent to temp locations for the current method.
  This is used by the debugger to locate temp vars in contexts.  A temp map
  entry is a pair of the temp's name and its index, where an index is either an
  integer for a normal temp or a pair of the index of the indirect temp vector
  containing  the temp and the index of the temp in its indirect temp vector."
  | blockExtentsToTempsMap |
  blockExtentsToLocals ifNil:
  [^nil].
  blockExtentsToTempsMap := Dictionary new.
  blockExtentsToLocals keysAndValuesDo:
  [:blockExtent :locals|
  blockExtentsToTempsMap
  at: blockExtent
  put: (Array streamContents:
+ [:aStream|
- [:stream|
  locals withIndexDo:
  [:local :index|
  local isIndirectTempVector
  ifTrue: [local remoteTemps withIndexDo:
+ [:remoteLocal :innerIndex| aStream nextPut: { remoteLocal key. { index. innerIndex } }]]
+ ifFalse: [aStream nextPut: { local key. index }]]])].
- [:remoteLocal :innerIndex| stream nextPut: { remoteLocal key. { index. innerIndex } }]]
- ifFalse: [stream nextPut: { local key. index }]]])].
  ^blockExtentsToTempsMap!

Item was changed:
  ----- Method: VariableNode>>variableGetterBlockIn: (in category 'tiles') -----
  variableGetterBlockIn: aContext
 
+ | temps tempIndex ivars |
- | temps index ivars |
 
  (self type = 4 and: [self key isVariableBinding]) ifTrue: [
  ^[self key value]
  ].
  aContext ifNil: [^nil].
  self isSelfPseudoVariable ifTrue: [^[aContext receiver]].
  self type = 1 ifTrue: [
  ivars := aContext receiver class allInstVarNames.
+ tempIndex := ivars indexOf: self name ifAbsent: [^nil].
+ ^[aContext receiver instVarAt: tempIndex]
- index := ivars indexOf: self name ifAbsent: [^nil].
- ^[aContext receiver instVarAt: index]
  ].
  self type = 2 ifTrue: [
  temps := aContext tempNames.
+ tempIndex := temps indexOf: self name ifAbsent: [^nil].
+ ^[aContext tempAt: tempIndex]
- index := temps indexOf: self name ifAbsent: [^nil].
- ^[aContext tempAt: index]
  ].
  ^nil
  !