[squeak-dev] The Trunk: Tools-eem.382.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Oct 7 17:28:43 UTC 2011
Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.382.mcz
==================== Summary ====================
Name: Tools-eem.382
Author: eem
Time: 7 October 2011, 10:28:14.649 am
UUID: 1f6d1798-42ae-4649-9f06-2b11fc93ac72
Ancestors: Tools-dtl.381
Fix for DebuggerMethodMapForClosureCompiledMethods when breaking
at the first bytecode of a method (not e.g. at the first send) so the
indirection vectors have not yet been instantiated.
Nuke obsolete ST80 dependency DeferredActionStandardSystemController
=============== Diff against Tools-dtl.381 ===============
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:
+ [aContext tempAt: tempReference]
- ifTrue: [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]]]!
- ifTrue: [self privateDereference: tempReference last
- in: aContext outerContext]
- ifFalse: [(aContext tempAt: tempReference first)
- at: tempReference second]]!
Item was changed:
----- Method: DebuggerMethodMapForClosureCompiledMethods>>privateDereference:in:put: (in category 'private') -----
privateDereference: tempReference in: aContext put: aValue
"Assign 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:
+ [aContext tempAt: tempReference put: aValue]
- ifTrue: [aContext tempAt: tempReference put: aValue]
ifFalse:
[tempReference first == #outer
+ ifTrue:
+ [self privateDereference: tempReference last
+ in: aContext outerContext
+ put: aValue]
+ ifFalse: "If stopped before indirection vectors are created they will be nil."
+ [(aContext tempAt: tempReference first)
+ ifNil: [UIManager default inform: 'Cannot assign remote temp because indirection vector is nil.\Too early in method execution?' withCRs.
+ nil]
+ ifNotNil:
+ [:indirectionVector|
+ indirectionVector
+ at: tempReference second
+ put: aValue]]]!
- ifTrue: [self privateDereference: tempReference last
- in: aContext outerContext
- put: aValue]
- ifFalse: [(aContext tempAt: tempReference first)
- at: tempReference second
- put: aValue]]!
Item was removed:
- StandardSystemController subclass: #DeferredActionStandardSystemController
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Tools-Process Browser'!
-
- !DeferredActionStandardSystemController commentStamp: 'dtl 9/20/2009 18:39' prior: 0!
- Deprecated (Sept 2009) - The DeferredActionStandardSystemController has been merged into Controller. This class remains as a stub to guard ensure that any external packages that depend on it remain functional.
-
- This is a StandardSystemController that can queue up objects to be evaluated before its control loop.!
More information about the Squeak-dev
mailing list
|