[squeak-dev] Daily Commit Log

commits at source.squeak.org commits at source.squeak.org
Mon Oct 27 23:55:06 UTC 2014

Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:


Name: Collections-ul.586
Ancestors: Collections-cmm.585

Symbol table changes:
- ensure that enumerations stay consistent
- avoid read-write and write-write race conditions
- added a safe #condenseNewSymbols method, which is a replacement for former unsafe methods (#shutDown: and #compactSymbolTable). It's also automatically triggered whenever there are more than 1000 NewSymbols.
- deprecated #compactSymbolTable
- updated some comments

Note that interning many symbols is a bit slower, but thread safety is more important.



Name: System-ul.688
Ancestors: System-dtl.685

Replaced ExternalSemaphoreTable with ExternalObjectTable to provide faster registration, and give better support to the current users of external objects. Notable changes:

- the table is a separate object instead of a few class side methods
- the whole API can be found in SmalltalkImage in the external objects category
- #newExternalSemaphore, #newExternalSemaphoreDo: and #newExternalSemaphores: provide fast and easy creation and registration of Semaphores
- #unregisterExternalObjects: can unregister multiple objects faster
- #externalObjects will return a copy of the externalObjectsArray
- better scalability
- the maxExternalSemaphores VM parameter will be incremented as the externalObjectsArray grows



Name: KernelTests-nice.280
Ancestors: KernelTests-dtl.279

Two more expectations for float literal equality:
- zero and negativeZero are equal but not #literalEqual:
- nan are not equals but can be #literalEqual:

Thanks to Kris Gybels for reporting this case at https://pharo.fogbugz.com/f/cases/14316/



Name: Kernel-nice.881
Ancestors: Kernel-ul.880

Fix Float literal equality: 0.0 and -0.0 are not the same Float...



Name: Files-ul.141
Ancestors: Files-eem.138

- use the new ExternalObjectTable API



Name: Network-ul.155
Ancestors: Network-ul.152

- use the new ExternalObjectTable API
- unifed socket initialization
- unregister ResolverSemaphore when the network initialization fails



Name: Sound-ul.41
Ancestors: Sound-nice.38

- use the new ExternalObjectTable API


More information about the Squeak-dev mailing list