[Pkg] The Trunk: System-ul.244.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Feb 5 22:19:14 UTC 2010


Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.244.mcz

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

Name: System-ul.244
Author: ul
Time: 5 February 2010, 9:55:52.891 pm
UUID: 9c866c62-8a84-384d-b122-0fe169b58964
Ancestors: System-nice.243

- don't use asSortedCollection for sorting
- minor cleanup
- add missing method: PseudoClass >> #selectorsDo: (probably there are more missing methods)

=============== Diff against System-nice.243 ===============

Item was changed:
  ----- Method: MessageTally>>leavesPrintExactOn: (in category 'printing') -----
  leavesPrintExactOn: aStream
  	| dict |
  	dict := IdentityDictionary new: 100.
  	self leavesInto: dict fromSender: nil.
+ 	dict values sort
- 	dict asSortedCollection
  		do: [ :node |
  			node printOn: aStream total: tally totalTime: nil tallyExact: true.
  			node printSenderCountsOn: aStream ]!

Item was added:
+ ----- Method: PseudoClass>>selectorsDo: (in category 'methods') -----
+ selectorsDo: aBlock
+ 
+ 	^self sourceCode keysDo: aBlock!

Item was changed:
  ----- Method: MessageTally>>rootPrintOn:total:totalTime:threshold: (in category 'printing') -----
  rootPrintOn: aStream total: total totalTime: totalTime threshold: threshold
  
  	| groups sons |
  	sons := self sonsOver: threshold.
  	groups := sons groupBy: [ :aTally | aTally process] having: [ :g | true].
+ 	groups keysAndValuesDo: [ :p :g |
- 	groups do:[:g|
- 		| p |
- 		p := g anyOne process.
  		(reportOtherProcesses or: [ p notNil ]) ifTrue: [
  			aStream nextPutAll: '--------------------------------'; cr.
  			aStream nextPutAll: 'Process: ',  (p ifNil: [ 'other processes'] ifNotNil: [ p browserPrintString]); cr.
  			aStream nextPutAll: '--------------------------------'; cr.
+ 			g sort do:[:aSon | 
- 			g asSortedCollection do:[:aSon | 
  				aSon 
  					treePrintOn: aStream
  					tabs: OrderedCollection new
  					thisTab: ''
  					total: total
  					totalTime: totalTime
  					tallyExact: false
  					orThreshold: threshold]].
  	]!

Item was changed:
  ----- Method: MessageTally>>printSenderCountsOn: (in category 'printing') -----
  printSenderCountsOn: aStream
  	| mergedSenders |
  	mergedSenders := IdentityDictionary new.
  	senders do:
  		[:node |
  		| mergedNode |
  		mergedNode := mergedSenders at: node method ifAbsent: [nil].
  		mergedNode == nil
  			ifTrue: [mergedSenders at: node method put: node]
  			ifFalse: [mergedNode bump: node tally]].
+ 	mergedSenders values sort do:
- 	mergedSenders asSortedCollection do:
  		[:node | 
  		10 to: node tally printString size by: -1 do: [:i | aStream space].
  		node printOn: aStream total: tally totalTime: nil tallyExact: true]!

Item was changed:
  ----- Method: MessageTally>>treePrintOn:tabs:thisTab:total:totalTime:tallyExact:orThreshold: (in category 'printing') -----
  treePrintOn: aStream tabs: tabs thisTab: myTab total: total totalTime: totalTime tallyExact: isExact orThreshold: threshold 
  	| sons |
  	tabs do: [:tab | aStream nextPutAll: tab].
  	tabs size > 0 
  		ifTrue: 
  			[self 
  				printOn: aStream
  				total: total
  				totalTime: totalTime
  				tallyExact: isExact].
  	sons := isExact ifTrue: [receivers] ifFalse: [self sonsOver: threshold].
  	sons isEmpty 
  		ifFalse: 
  			[tabs addLast: myTab.
+ 			sons sort.
+ 			1 to: sons size do: [ :i | 
+ 				| sonTab |
+ 				sonTab := i < sons size ifTrue: ['  |'] ifFalse: ['  '].
+ 				(sons at: i) 
+ 					treePrintOn: aStream
+ 					tabs: (tabs size < self maxTabs 
+ 							ifTrue: [tabs]
+ 							ifFalse: [(tabs select: [:x | x = '[']) copyWith: '['])
+ 					thisTab: sonTab
+ 					total: total
+ 					totalTime: totalTime
+ 					tallyExact: isExact
+ 					orThreshold: threshold].
- 			sons := sons asSortedCollection.
- 			(1 to: sons size) do: 
- 					[:i | | sonTab | 
- 					sonTab := i < sons size ifTrue: ['  |'] ifFalse: ['  '].
- 					(sons at: i) 
- 						treePrintOn: aStream
- 						tabs: (tabs size < self maxTabs 
- 								ifTrue: [tabs]
- 								ifFalse: [(tabs select: [:x | x = '[']) copyWith: '['])
- 						thisTab: sonTab
- 						total: total
- 						totalTime: totalTime
- 						tallyExact: isExact
- 						orThreshold: threshold].
  			tabs removeLast]!

Item was changed:
  ----- Method: MessageTally>>leavesPrintOn:threshold: (in category 'printing') -----
  leavesPrintOn: aStream threshold: threshold
  	| dict |
  	dict := IdentityDictionary new: 100.
  	self leavesInto: dict fromSender: nil.
+ 	(dict values select: [:node | node tally > threshold])
+ 		sort do: [:node |
- 	(dict asOrderedCollection
- 			select: [:node | node tally > threshold])
- 		asSortedCollection do: [:node |
  			node printOn: aStream total: tally totalTime: time tallyExact: false ]!



More information about the Packages mailing list