[squeak-dev] Daily Commit Log

commits at source.squeak.org commits at source.squeak.org
Tue Oct 28 23:55:02 UTC 2014

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


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

Collections-ul.586 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.212

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: Kernel.spur-nice.881
Ancestors: Kernel-nice.881, Kernel.spur-ul.880

Kernel-nice.881 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.212

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



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

System-ul.688 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.212

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


More information about the Squeak-dev mailing list