[squeak-dev] The Trunk: System-ul.346.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jul 1 15:52:02 UTC 2010


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

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

Name: System-ul.346
Author: ul
Time: 1 July 2010, 5:47:34.811 pm
UUID: 24a3893a-af8a-d341-9211-5dc456369a43
Ancestors: System-eem.345

- ignore vm parameters with nil value in MessageTally, so it can be used in Cog

=============== Diff against System-eem.345 ===============

Item was changed:
  ----- Method: MessageTally>>spyEvery:onProcess:forMilliseconds: (in category 'initialize-release') -----
  spyEvery: millisecs onProcess: aProcess forMilliseconds: msecDuration 
  	"Create a spy and spy on the given process at the specified rate."
  	| myDelay time0 endTime observedProcess sem |
  	(aProcess isKindOf: Process)
  		ifFalse: [self error: 'spy needs a Process here'].
  	self class: aProcess suspendedContext receiver class method: aProcess suspendedContext method.
  	"set up the probe"
  	observedProcess := aProcess.
  	myDelay := Delay forMilliseconds: millisecs.
  	time0 := Time millisecondClockValue.
  	endTime := time0 + msecDuration.
  	sem := Semaphore new.
  	gcStats := SmalltalkImage current getVMParameters.
  	Timer ifNotNil: [ self error: 'it seems a tally is already running' ].
  	Timer := [
  			[
  				| startTime |
  				startTime := Time millisecondClockValue.
  				myDelay wait.
  				self
  					tally: Processor preemptedProcess suspendedContext
  					in: (observedProcess == Processor preemptedProcess 
  						ifTrue: [ observedProcess ]
  						ifFalse: [ nil ])
  					"tally can be > 1 if ran a long primitive"
  					by: (Time millisecondClockValue - startTime) // millisecs.
  				startTime < endTime
  			] whileTrue.
  			sem signal.
  		] newProcess.
  	Timer priority: Processor timingPriority-1.
  		"activate the probe and evaluate the block"
  	Timer resume.
  	"activate the probe and wait for it to finish"
  	sem wait.
  	"Collect gc statistics"
+ 	SmalltalkImage current getVMParameters keysAndValuesDo: [ :idx :gcVal |
+ 		gcVal ifNotNil: [ gcStats at: idx put: (gcVal - (gcStats at: idx)) ] ].
- 	SmalltalkImage current getVMParameters keysAndValuesDo: [ :idx :gcVal | 
- 		gcStats at: idx put: (gcVal - gcStats at: idx)].
  	time := Time millisecondClockValue - time0!

Item was changed:
  ----- Method: MessageTally>>spyAllEvery:on: (in category 'initialize-release') -----
  spyAllEvery: millisecs on: aBlock
  	"Create a spy and spy on the given block at the specified rate."
  	"Spy all the system processes"
  
  	| myDelay time0 |
  	aBlock isBlock
  		ifFalse: [ self error: 'spy needs a block here' ].
  	self class: aBlock receiver class method: aBlock method.
  		"set up the probe"
  	myDelay := Delay forMilliseconds: millisecs.
  	time0 := Time millisecondClockValue.
  	gcStats := SmalltalkImage current getVMParameters.
  	Timer ifNotNil: [ self error: 'it seems a tally is already running' ].
  	Timer := [
  		[true] whileTrue: [
  			| observedProcess startTime |
  			startTime := Time millisecondClockValue.
  			myDelay wait.
  			observedProcess := Processor preemptedProcess.
  			self
  				tally: observedProcess suspendedContext
  				in: observedProcess
  				"tally can be > 1 if ran a long primitive"
  				by: (Time millisecondClockValue - startTime) // millisecs].
  		nil] newProcess.
  	Timer priority: Processor timingPriority-1.
  		"activate the probe and evaluate the block"
  	Timer resume.
  	^ aBlock ensure: [
  		"cancel the probe and return the value"
  		"Could have already been terminated. See #terminateTimerProcess"
  		Timer ifNotNil: [
  			Timer terminate.
  			Timer := nil ].
  		"Collect gc statistics"
+ 			SmalltalkImage current getVMParameters keysAndValuesDo: [ :idx :gcVal |
+ 				gcVal ifNotNil: [ gcStats at: idx put: (gcVal - (gcStats at: idx)) ] ].
- 		SmalltalkImage current getVMParameters keysAndValuesDo: [ :idx :gcVal | 
- 			gcStats at: idx put: (gcVal - (gcStats at: idx))].
  		time := Time millisecondClockValue - time0]!

Item was changed:
  ----- Method: MessageTally>>spyEvery:on: (in category 'initialize-release') -----
  spyEvery: millisecs on: aBlock
  	"Create a spy and spy on the given block at the specified rate."
  	"Spy only on the active process (in which aBlock is run)"
  
  	| myDelay time0 observedProcess |
  	aBlock isBlock
  		ifFalse: [ self error: 'spy needs a block here' ].
  	self class: aBlock receiver class method: aBlock method.
  		"set up the probe"
  	observedProcess := Processor activeProcess.
  	myDelay := Delay forMilliseconds: millisecs.
  	time0 := Time millisecondClockValue.
  	gcStats := SmalltalkImage current getVMParameters.
  	Timer ifNotNil: [ self error: 'it seems a tally is already running' ].
  	Timer := [
  		[ true ] whileTrue: [
  			| startTime |
  			startTime := Time millisecondClockValue.
  			myDelay wait.
  			self
  				tally: Processor preemptedProcess suspendedContext
  				in: (observedProcess == Processor preemptedProcess ifTrue: [observedProcess] ifFalse: [nil])
  				"tally can be > 1 if ran a long primitive"
  				by: (Time millisecondClockValue - startTime) // millisecs].
  		nil] newProcess.
  	Timer priority: Processor timingPriority-1.
  		"activate the probe and evaluate the block"
  	Timer resume.
  	^ aBlock ensure: [
  		"cancel the probe and return the value"
  		"Could have already been terminated. See #terminateTimerProcess"
  		Timer ifNotNil: [
  			Timer terminate.
  			Timer := nil ].
  		"Collect gc statistics"
+ 		SmalltalkImage current getVMParameters keysAndValuesDo: [ :idx :gcVal |
+ 			gcVal ifNotNil: [ gcStats at: idx put: (gcVal - (gcStats at: idx)) ] ].
+ 		time := Time millisecondClockValue - time0 ]!
- 		SmalltalkImage current getVMParameters keysAndValuesDo: [ :idx :gcVal | 
- 			gcStats at: idx put: (gcVal - (gcStats at: idx))].
- 		time := Time millisecondClockValue - time0]!

Item was removed:
- ----- Method: Preferences class>>lexiconWindowColor (in category 'standard queries') -----
- lexiconWindowColor
- 	^ self
- 		valueOfFlag: #lexiconWindowColor
- 		ifAbsent: [Color
- 				r: 0.878
- 				g: 1.0
- 				b: 0.878]!

Item was removed:
- ----- Method: Preferences class>>instanceBrowserWindowColor (in category 'standard queries') -----
- instanceBrowserWindowColor
- 	^ self
- 		valueOfFlag: #instanceBrowserWindowColor
- 		ifAbsent: [Color
- 				r: 0.806
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>fileListWindowColor (in category 'standard queries') -----
- fileListWindowColor
- 	^ self
- 		valueOfFlag: #fileListWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 0.8
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>debuggerWindowColor (in category 'standard queries') -----
- debuggerWindowColor
- 	^ self
- 		valueOfFlag: #debuggerWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 0.8
- 				b: 0.8]!

Item was removed:
- ----- Method: Preferences class>>defaultWindowColor (in category 'standard queries') -----
- defaultWindowColor
- 	^ self
- 		valueOfFlag: #defaultWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>workspaceWindowColor (in category 'standard queries') -----
- workspaceWindowColor
- 	^ self
- 		valueOfFlag: #workspaceWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 1.0
- 				b: 0.8]!

Item was removed:
- ----- Method: Preferences class>>classCommentVersionsBrowserWindowColor (in category 'standard queries') -----
- classCommentVersionsBrowserWindowColor
- 	^ self
- 		valueOfFlag: #classCommentVersionsBrowserWindowColor
- 		ifAbsent: [Color
- 				r: 0.769
- 				g: 0.653
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>fileContentsBrowserWindowColor (in category 'standard queries') -----
- fileContentsBrowserWindowColor
- 	^ self
- 		valueOfFlag: #fileContentsBrowserWindowColor
- 		ifAbsent: [Color
- 				r: 0.8
- 				g: 0.8
- 				b: 0.5]!

Item was removed:
- ----- Method: Preferences class>>versionsBrowserWindowColor (in category 'standard queries') -----
- versionsBrowserWindowColor
- 	^ self
- 		valueOfFlag: #versionsBrowserWindowColor
- 		ifAbsent: [Color
- 				r: 0.869
- 				g: 0.753
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>testRunnerWindowColor (in category 'standard queries') -----
- testRunnerWindowColor
- 	^ self
- 		valueOfFlag: #testRunnerWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 0.6
- 				b: 0.0]!

Item was removed:
- ----- Method: Preferences class>>dualChangeSorterWindowColor (in category 'standard queries') -----
- dualChangeSorterWindowColor
- 	^ self
- 		valueOfFlag: #dualChangeSorterWindowColor
- 		ifAbsent: [Color
- 				r: 0.8
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>messageListWindowColor (in category 'standard queries') -----
- messageListWindowColor
- 	^ self
- 		valueOfFlag: #messageListWindowColor
- 		ifAbsent: [Color
- 				r: 0.8
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>messageNamesWindowColor (in category 'standard queries') -----
- messageNamesWindowColor
- 	^ self
- 		valueOfFlag: #messageNamesWindowColor
- 		ifAbsent: [Color
- 				r: 0.645
- 				g: 1.0
- 				b: 0.452]!

Item was removed:
- ----- Method: Preferences class>>browserWindowColor (in category 'standard queries') -----
- browserWindowColor
- 	^ self
- 		valueOfFlag: #browserWindowColor
- 		ifAbsent: [Color
- 				r: 0.8
- 				g: 1.0
- 				b: 0.6]!

Item was removed:
- ----- Method: Preferences class>>packageLoaderWindowColor (in category 'standard queries') -----
- packageLoaderWindowColor
- 	^ self
- 		valueOfFlag: #packageLoaderWindowColor
- 		ifAbsent: [Color
- 				r: 0.9
- 				g: 0.9
- 				b: 0.781]!

Item was removed:
- ----- Method: Preferences class>>transcriptWindowColor (in category 'standard queries') -----
- transcriptWindowColor
- 	^ self
- 		valueOfFlag: #transcriptWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 0.8
- 				b: 0.4]!

Item was removed:
- ----- Method: Preferences class>>changeSorterWindowColor (in category 'standard queries') -----
- changeSorterWindowColor
- 	^ self
- 		valueOfFlag: #changeSorterWindowColor
- 		ifAbsent: [Color
- 				r: 0.8
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>methodFinderWindowColor (in category 'standard queries') -----
- methodFinderWindowColor
- 	^ self
- 		valueOfFlag: #methodFinderWindowColor
- 		ifAbsent: [Color
- 				r: 0.4
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>changeListWindowColor (in category 'standard queries') -----
- changeListWindowColor
- 	^ self
- 		valueOfFlag: #changeListWindowColor
- 		ifAbsent: [Color
- 				r: 0.8
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>preferenceBrowserWindowColor (in category 'standard queries') -----
- preferenceBrowserWindowColor
- 	^ self
- 		valueOfFlag: #preferenceBrowserWindowColor
- 		ifAbsent: [Color
- 				r: 0.645
- 				g: 1.0
- 				b: 1.0]!

Item was removed:
- ----- Method: Preferences class>>packageBrowserWindowColor (in category 'standard queries') -----
- packageBrowserWindowColor
- 	^ self
- 		valueOfFlag: #packageBrowserWindowColor
- 		ifAbsent: [Color
- 				r: 1.0
- 				g: 1.0
- 				b: 0.6]!

Item was removed:
- ----- Method: Preferences class>>monticelloToolWindowColor (in category 'standard queries') -----
- monticelloToolWindowColor
- 	^ self
- 		valueOfFlag: #monticelloToolWindowColor
- 		ifAbsent: [Color
- 				r: 0.627
- 				g: 0.69
- 				b: 0.976]!




More information about the Squeak-dev mailing list