[Pkg] 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 Packages mailing list