The Trunk: Tools-eem.401.mcz

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

The Trunk: Tools-eem.401.mcz

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

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

Name: Tools-eem.401
Author: eem
Time: 16 April 2012, 1:29:04.175 pm
UUID: 64653d7e-ca28-4119-9773-35c62ff62390
Ancestors: Tools-eem.400

Fix another potential bounds violation in namedTempAt:in:,
e.g. in [ |a| a:=2 ] asContext tempsAndValues

=============== Diff against Tools-eem.400 ===============

Item was changed:
  ----- Method: DebuggerMethodMapForClosureCompiledMethods>>privateDereference:in: (in category 'private') -----
  privateDereference: tempReference in: aContext
  "Fetch the temporary with reference tempReference in aContext.
  tempReference can be
  integer - direct temp reference
  #( indirectionVectorIndex tempIndex ) - remote temp in indirectionVector at index
  #( outer. temp reference ) - a temp reference in an outer context."
  ^tempReference isInteger
  ifTrue:
+ [tempReference <= aContext stackPtr ifTrue:
+ [aContext tempAt: tempReference]]
- [aContext tempAt: tempReference]
  ifFalse:
  [tempReference first == #outer
  ifTrue:
  [self privateDereference: tempReference last
  in: aContext outerContext]
  ifFalse: "If stopped before indirection vectors are created they will be nil. Simply answer nil"
  [(aContext tempAt: tempReference first) ifNotNil:
  [:indirectionVector|
  indirectionVector at: tempReference second]]]!