[Pkg] The Trunk: Kernel-cmm.701.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jul 4 18:53:35 UTC 2012


Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.701.mcz

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

Name: Kernel-cmm.701
Author: cmm
Time: 4 July 2012, 1:51:54.85 pm
UUID: f0177e3d-73ed-4616-a772-83e7bf7d89f4
Ancestors: Kernel-eem.700, Kernel-cmm.685

Merged.

=============== Diff against Kernel-eem.700 ===============

Item was changed:
  ----- Method: DateAndTime class>>nowWithOffset: (in category 'squeak protocol') -----
+ nowWithOffset: aDuration 
- nowWithOffset: aDuration
  	| nanoTicks msm |
- 
  	nanoTicks := (msm := self milliSecondsSinceMidnight) * 1000000.
+ 	"The following usually only executes at system startup."
+ 	^ LastTick < nanoTicks
+ 		ifTrue:
+ 			[ LastTick := nanoTicks.
+ 			self waitForOffsets.
+ 			self basicNew
+ 				setJdn: DaysSinceEpoch
+ 				seconds: msm // 1000
+ 				nano: msm \\ 1000 * 1000000
+ 				offset: aDuration ]
+ 		ifFalse:
+ 			[ LastTickSemaphore critical:
+ 				[ LastTick := LastTick + 1.
+ 				self waitForOffsets.
+ 				self basicNew
+ 					setJdn: DaysSinceEpoch
+ 					seconds: LastTick // 1000000000
+ 					nano: LastTick \\ 1000000000
+ 					offset: aDuration ] ]
- 
- 	(LastTick < nanoTicks) ifTrue: [
- 		LastTick := nanoTicks.
- 		^ self todayAtMilliSeconds: msm offset: aDuration].
- 
- 	LastTickSemaphore critical: [
- 		LastTick :=  LastTick + 1.
- 		^ self todayAtNanoSeconds: LastTick offset: aDuration]
- 
  " 
  [ 10000 timesRepeat: [ self now. ] ] timeToRun / 10000.0 . 
  
  If calls to DateAndTime-c-#now are within a single millisecond the semaphore code 
  to ensure that (self now <= self now) slows things down considerably by a factor of about 20.
  
  The actual speed of a single call to DateAndTime-now in milliseconds is 
  demonstrated by the unguarded method below.
  
  [ 100000 timesRepeat: [ self todayAtMilliSeconds: (self milliSecondsSinceMidnight) ] ] timeToRun / 100000.0 .  0.00494 0.00481 0.00492 0.00495
    
  "!

Item was removed:
- ----- Method: DateAndTime class>>todayAtMilliSeconds: (in category 'squeak protocol') -----
- todayAtMilliSeconds: milliSecondsSinceMidnight 
- self deprecated: 'Use todayAtMilliSeconds:offset:.'.
- 	^ self
- 		todayAtMilliSeconds: milliSecondsSinceMidnight
- 		offset: self localOffset!

Item was removed:
- ----- Method: DateAndTime class>>todayAtMilliSeconds:offset: (in category 'squeak protocol') -----
- todayAtMilliSeconds: milliSecondsSinceMidnight offset: aDuration
- 
- 	"This is usually only during system startup..."
- 	self waitForOffsets.
- 
- 	 ^ self basicNew
- 			setJdn: DaysSinceEpoch 
- 			seconds: (milliSecondsSinceMidnight // 1000) 
- 			nano: (milliSecondsSinceMidnight  \\ 1000 * 1000000  ) 
- 			offset: aDuration
- 	 
- " 
- [ 100000 timesRepeat: [ self fromMilliSeconds: self milliSecondsSinceMidnight. ] ] timeToRun.
- "!

Item was removed:
- ----- Method: DateAndTime class>>todayAtNanoSeconds: (in category 'squeak protocol') -----
- todayAtNanoSeconds: nanoSecondsSinceMidnight 
- self deprecated: 'Use todayAtNanoSeconds:offset:.'.
- 	self
- 		todayAtNanoSeconds: nanoSecondsSinceMidnight
- 		offset: self localOffset!

Item was removed:
- ----- Method: DateAndTime class>>todayAtNanoSeconds:offset: (in category 'squeak protocol') -----
- todayAtNanoSeconds: nanoSecondsSinceMidnight offset: aDuration
- 
- 	"This is usually only during system startup..."
- 	self waitForOffsets.
- 
- 	^ self basicNew
- 			setJdn: DaysSinceEpoch 
- 			seconds: (nanoSecondsSinceMidnight // 1000000000) 
- 			nano: (nanoSecondsSinceMidnight  \\ 1000000000  ) 
- 			offset: self localOffset
-  !

Item was changed:
  ----- Method: Integer>>asStringWithCommas (in category 'printing') -----
  asStringWithCommas
  	"123456789 asStringWithCommas"
  	"-123456789 asStringWithCommas"
+ 	^ self asStringWithCommasSigned: false!
- 	| digits |
- 	digits := self abs printString.
- 	^ String streamContents:
- 		[:strm | 
- 		self sign = -1 ifTrue: [strm nextPut: $-].
- 		1 to: digits size do: 
- 			[:i | strm nextPut: (digits at: i).
- 			(i < digits size and: [(i - digits size) \\ 3 = 0])
- 				ifTrue: [strm nextPut: $,]]]!

Item was changed:
  ----- Method: Integer>>asStringWithCommasSigned (in category 'printing') -----
  asStringWithCommasSigned
  	"123456789 asStringWithCommasSigned"
  	"-123456789 asStringWithCommasSigned"
  	| digits |
+ self deprecated: 'Use #asStringWithCommasSigned:'.
  	digits := self abs printString.
  	^ String streamContents:
  		[:strm | 
  		self sign = -1 ifTrue: [strm nextPut: $-] ifFalse:[strm nextPut: $+].
  		1 to: digits size do: 
  			[:i | strm nextPut: (digits at: i).
  			(i < digits size and: [(i - digits size) \\ 3 = 0])
  				ifTrue: [strm nextPut: $,]]]!

Item was added:
+ ----- Method: Integer>>asStringWithCommasSigned: (in category 'printing') -----
+ asStringWithCommasSigned: aBoolean
+ 	"123456789 asStringWithCommasSigned: true"
+ 	"-123456789 asStringWithCommasSigned: false"
+ 	| digits |
+ 	digits := self abs printString.
+ 	^ String streamContents:
+ 		[:strm | 
+ 		self sign = -1 ifTrue: [strm nextPut: $-] ifFalse: [aBoolean ifTrue: [strm nextPut: $+]].
+ 		1 to: digits size do: 
+ 			[:i | strm nextPut: (digits at: i).
+ 			(i < digits size and: [(i - digits size) \\ 3 = 0])
+ 				ifTrue: [strm nextPut: $,]]]!



More information about the Packages mailing list