Nicolas Cellier uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-nice.52.mcz==================== Summary ====================
Name: MorphicExtras-nice.52
Author: nice
Time: 20 October 2009, 9:42:43 am
UUID: 9665d8b2-4191-4b3d-84a3-b9c7d554e942
Ancestors: MorphicExtras-nice.51
use keys asSet where due
=============== Diff against MorphicExtras-nice.51 ===============
Item was changed:
----- Method: SqueakPageCache class>>deleteUnreferencedPages (in category 'housekeeping') -----
deleteUnreferencedPages
"Remove any pages that are not current referred to by any book or URL morph."
"Details: Since unreferenced pages could refer to other pages, this process is iterated until no unreferenced pages can be found. It currently does not collect cycles."
"SqueakPageCache deleteUnreferencedPages"
| unreferenced |
[true] whileTrue: [
Smalltalk garbageCollect.
+ unreferenced := PageCache keys asSet.
- unreferenced := PageCache keys.
URLMorph allSubInstancesDo: [:m | unreferenced remove: m url ifAbsent: []].
MorphObjectOut allInstancesDo: [:ticklish |
unreferenced remove: ticklish url ifAbsent: []].
unreferenced size = 0 ifTrue: [^ self].
unreferenced do: [:url | PageCache removeKey: url ifAbsent: []]].
!