Eliot Miranda uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-eem.735.mcz
==================== Summary ====================
Name: Tools-eem.735 Author: eem Time: 6 December 2016, 11:29:27.381109 am UUID: 947917cc-cfaf-4c57-a031-bc7da795846e Ancestors: Tools-topa.734
Provide a path for methods to compute their temp names.
=============== Diff against Tools-topa.734 ===============
Item was added: + ----- Method: DebuggerMethodMapForClosureCompiledMethods>>privateTempRefsForMethod:startpcsToBlockExtents: (in category 'private') ----- + privateTempRefsForMethod: method startpcsToBlockExtents: startpcsToBlockExtents + "Answer the sequence of temps in scope in method in the natural order, + outermost arguments and temporaries first, innermost last. Each temp is + a pair of the temp's name followed by a reference. The reference can be + integer - index of temp in aContext + #( indirectionVectorIndex tempIndex ) - remote temp in indirectionVector at index in aContext + #( outer. temp reference ) - a temp reference in an outer context." + blockExtentsToTempRefs ifNil: + [blockExtentsToTempRefs := (method holdsTempNames + ifTrue: [method] + ifFalse: [methodNode]) blockExtentsToTempsMap. + blockExtentsToTempRefs ifNil: + ["an empty method. shouldn't be able to step into here but it + can happen in weird circumstances (i.e. with MethodWrapper)." + blockExtentsToTempRefs := Dictionary new. + blockExtentsToTempRefs + at: (startpcsToBlockExtents at: method initialPC) + put: {}]. + startpcsToTempRefs := Dictionary new]. + ^startpcsToTempRefs + at: method initialPC + ifAbsentPut: + [blockExtentsToTempRefs at: (startpcsToBlockExtents at: method initialPC)]!
Item was added: + ----- Method: DebuggerMethodMapForClosureCompiledMethods>>tempNamesForMethod: (in category 'accessing') ----- + tempNamesForMethod: aMethod + "Answer an Array of all the temp names in scope in aMethod starting with + the home's first local (the first argument or first temporary if no arguments)." + ^(self + privateTempRefsForMethod: aMethod + startpcsToBlockExtents: aMethod startpcsToBlockExtents) collect: + [:pair| pair first]!
packages@lists.squeakfoundation.org