Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.397.mcz
==================== Summary ====================
Name: System-ul.397
Author: ul
Time: 25 November 2010, 11:45:13.676 pm
UUID: 84c594bb-44d7-1a4e-8c26-c09078e712d6
Ancestors: System-ul.396
- since #setBalloonHelpFontTo: does the same as the newly introduced #setBalloonFontTo:, the new method is now deleted
=============== Diff against System-ul.396 ===============
Item was changed:
----- Method: Preferences class>>restoreDefaultFonts (in category 'fonts') -----
restoreDefaultFonts
"Since this is called from menus, we can take the opportunity to prompt for missing font styles."
"
Preferences restoreDefaultFonts
"
self setDefaultFonts: #(
(setSystemFontTo: 'Bitmap DejaVu Sans' 9)
(setListFontTo: 'Bitmap DejaVu Sans' 9)
(setFlapsFontTo: Accushi 12)
(setEToysFontTo: BitstreamVeraSansBold 9)
(setPaintBoxButtonFontTo: BitstreamVeraSansBold 9)
(setMenuFontTo: 'Bitmap DejaVu Sans' 9)
(setWindowTitleFontTo: 'Bitmap DejaVu Sans Bold' 9)
+ (setBalloonHelpFontTo: 'Bitmap DejaVu Sans' 7)
- (setBalloonHelpFontTo: Accujen 9)
(setCodeFontTo: 'Bitmap DejaVu Sans' 9)
(setButtonFontTo: 'Bitmap DejaVu Sans' 7)
- (setBalloonFontTo: 'Bitmap DejaVu Sans' 7)
)!
Item was removed:
- ----- Method: Preferences class>>setBalloonFontTo: (in category 'fonts') -----
- setBalloonFontTo: aFont
-
- Smalltalk at: #BalloonMorph ifPresent: [ :balloonMorph |
- balloonMorph setBalloonFontTo: aFont ]!
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.397.mcz
==================== Summary ====================
Name: System-ul.397
Author: ul
Time: 25 November 2010, 11:45:13.676 pm
UUID: 84c594bb-44d7-1a4e-8c26-c09078e712d6
Ancestors: System-ul.396
- since #setBalloonHelpFontTo: does the same as the newly introduced #setBalloonFontTo:, the new method is now deleted
=============== Diff against System-ul.396 ===============
Item was changed:
----- Method: Preferences class>>restoreDefaultFonts (in category 'fonts') -----
restoreDefaultFonts
"Since this is called from menus, we can take the opportunity to prompt for missing font styles."
"
Preferences restoreDefaultFonts
"
self setDefaultFonts: #(
(setSystemFontTo: 'Bitmap DejaVu Sans' 9)
(setListFontTo: 'Bitmap DejaVu Sans' 9)
(setFlapsFontTo: Accushi 12)
(setEToysFontTo: BitstreamVeraSansBold 9)
(setPaintBoxButtonFontTo: BitstreamVeraSansBold 9)
(setMenuFontTo: 'Bitmap DejaVu Sans' 9)
(setWindowTitleFontTo: 'Bitmap DejaVu Sans Bold' 9)
+ (setBalloonHelpFontTo: 'Bitmap DejaVu Sans' 7)
- (setBalloonHelpFontTo: Accujen 9)
(setCodeFontTo: 'Bitmap DejaVu Sans' 9)
(setButtonFontTo: 'Bitmap DejaVu Sans' 7)
- (setBalloonFontTo: 'Bitmap DejaVu Sans' 7)
)!
Item was removed:
- ----- Method: Preferences class>>setBalloonFontTo: (in category 'fonts') -----
- setBalloonFontTo: aFont
-
- Smalltalk at: #BalloonMorph ifPresent: [ :balloonMorph |
- balloonMorph setBalloonFontTo: aFont ]!
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.397.mcz
==================== Summary ====================
Name: System-ul.397
Author: ul
Time: 25 November 2010, 11:45:13.676 pm
UUID: 84c594bb-44d7-1a4e-8c26-c09078e712d6
Ancestors: System-ul.396
- since #setBalloonHelpFontTo: does the same as the newly introduced #setBalloonFontTo:, the new method is now deleted
=============== Diff against System-ul.396 ===============
Item was changed:
----- Method: Preferences class>>restoreDefaultFonts (in category 'fonts') -----
restoreDefaultFonts
"Since this is called from menus, we can take the opportunity to prompt for missing font styles."
"
Preferences restoreDefaultFonts
"
self setDefaultFonts: #(
(setSystemFontTo: 'Bitmap DejaVu Sans' 9)
(setListFontTo: 'Bitmap DejaVu Sans' 9)
(setFlapsFontTo: Accushi 12)
(setEToysFontTo: BitstreamVeraSansBold 9)
(setPaintBoxButtonFontTo: BitstreamVeraSansBold 9)
(setMenuFontTo: 'Bitmap DejaVu Sans' 9)
(setWindowTitleFontTo: 'Bitmap DejaVu Sans Bold' 9)
+ (setBalloonHelpFontTo: 'Bitmap DejaVu Sans' 7)
- (setBalloonHelpFontTo: Accujen 9)
(setCodeFontTo: 'Bitmap DejaVu Sans' 9)
(setButtonFontTo: 'Bitmap DejaVu Sans' 7)
- (setBalloonFontTo: 'Bitmap DejaVu Sans' 7)
)!
Item was removed:
- ----- Method: Preferences class>>setBalloonFontTo: (in category 'fonts') -----
- setBalloonFontTo: aFont
-
- Smalltalk at: #BalloonMorph ifPresent: [ :balloonMorph |
- balloonMorph setBalloonFontTo: aFont ]!
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.396.mcz
==================== Summary ====================
Name: System-ul.396
Author: ul
Time: 24 November 2010, 8:06:37.276 am
UUID: 34376be0-635e-0d4d-9509-a1c661430cdb
Ancestors: System-ul.395
- set the balloon font (if possible) in Preferences >> #restoreDefaultFonts.
- modified the postscript, so the default fonts will be restored to change the ballon font to Bitmap DejaVu Sans 7pt.
=============== Diff against System-ul.395 ===============
Item was changed:
----- Method: Preferences class>>restoreDefaultFonts (in category 'fonts') -----
restoreDefaultFonts
"Since this is called from menus, we can take the opportunity to prompt for missing font styles."
"
Preferences restoreDefaultFonts
"
self setDefaultFonts: #(
(setSystemFontTo: 'Bitmap DejaVu Sans' 9)
(setListFontTo: 'Bitmap DejaVu Sans' 9)
(setFlapsFontTo: Accushi 12)
(setEToysFontTo: BitstreamVeraSansBold 9)
(setPaintBoxButtonFontTo: BitstreamVeraSansBold 9)
(setMenuFontTo: 'Bitmap DejaVu Sans' 9)
(setWindowTitleFontTo: 'Bitmap DejaVu Sans Bold' 9)
(setBalloonHelpFontTo: Accujen 9)
(setCodeFontTo: 'Bitmap DejaVu Sans' 9)
(setButtonFontTo: 'Bitmap DejaVu Sans' 7)
+ (setBalloonFontTo: 'Bitmap DejaVu Sans' 7)
+ )!
- )
- !
Item was added:
+ ----- Method: Preferences class>>setBalloonFontTo: (in category 'fonts') -----
+ setBalloonFontTo: aFont
+
+ Smalltalk at: #BalloonMorph ifPresent: [ :balloonMorph |
+ balloonMorph setBalloonFontTo: aFont ]!
Item was changed:
+ (PackageInfo named: 'System') postscript: 'Preferences restoreDefaultFonts.'!
- (PackageInfo named: 'System') postscript: 'Preferences restoreDefaultFonts'!
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.396.mcz
==================== Summary ====================
Name: System-ul.396
Author: ul
Time: 24 November 2010, 8:06:37.276 am
UUID: 34376be0-635e-0d4d-9509-a1c661430cdb
Ancestors: System-ul.395
- set the balloon font (if possible) in Preferences >> #restoreDefaultFonts.
- modified the postscript, so the default fonts will be restored to change the ballon font to Bitmap DejaVu Sans 7pt.
=============== Diff against System-ul.395 ===============
Item was changed:
----- Method: Preferences class>>restoreDefaultFonts (in category 'fonts') -----
restoreDefaultFonts
"Since this is called from menus, we can take the opportunity to prompt for missing font styles."
"
Preferences restoreDefaultFonts
"
self setDefaultFonts: #(
(setSystemFontTo: 'Bitmap DejaVu Sans' 9)
(setListFontTo: 'Bitmap DejaVu Sans' 9)
(setFlapsFontTo: Accushi 12)
(setEToysFontTo: BitstreamVeraSansBold 9)
(setPaintBoxButtonFontTo: BitstreamVeraSansBold 9)
(setMenuFontTo: 'Bitmap DejaVu Sans' 9)
(setWindowTitleFontTo: 'Bitmap DejaVu Sans Bold' 9)
(setBalloonHelpFontTo: Accujen 9)
(setCodeFontTo: 'Bitmap DejaVu Sans' 9)
(setButtonFontTo: 'Bitmap DejaVu Sans' 7)
+ (setBalloonFontTo: 'Bitmap DejaVu Sans' 7)
+ )!
- )
- !
Item was added:
+ ----- Method: Preferences class>>setBalloonFontTo: (in category 'fonts') -----
+ setBalloonFontTo: aFont
+
+ Smalltalk at: #BalloonMorph ifPresent: [ :balloonMorph |
+ balloonMorph setBalloonFontTo: aFont ]!
Item was changed:
+ (PackageInfo named: 'System') postscript: 'Preferences restoreDefaultFonts.'!
- (PackageInfo named: 'System') postscript: 'Preferences restoreDefaultFonts'!
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.396.mcz
==================== Summary ====================
Name: System-ul.396
Author: ul
Time: 24 November 2010, 8:06:37.276 am
UUID: 34376be0-635e-0d4d-9509-a1c661430cdb
Ancestors: System-ul.395
- set the balloon font (if possible) in Preferences >> #restoreDefaultFonts.
- modified the postscript, so the default fonts will be restored to change the ballon font to Bitmap DejaVu Sans 7pt.
=============== Diff against System-ul.395 ===============
Item was changed:
----- Method: Preferences class>>restoreDefaultFonts (in category 'fonts') -----
restoreDefaultFonts
"Since this is called from menus, we can take the opportunity to prompt for missing font styles."
"
Preferences restoreDefaultFonts
"
self setDefaultFonts: #(
(setSystemFontTo: 'Bitmap DejaVu Sans' 9)
(setListFontTo: 'Bitmap DejaVu Sans' 9)
(setFlapsFontTo: Accushi 12)
(setEToysFontTo: BitstreamVeraSansBold 9)
(setPaintBoxButtonFontTo: BitstreamVeraSansBold 9)
(setMenuFontTo: 'Bitmap DejaVu Sans' 9)
(setWindowTitleFontTo: 'Bitmap DejaVu Sans Bold' 9)
(setBalloonHelpFontTo: Accujen 9)
(setCodeFontTo: 'Bitmap DejaVu Sans' 9)
(setButtonFontTo: 'Bitmap DejaVu Sans' 7)
+ (setBalloonFontTo: 'Bitmap DejaVu Sans' 7)
+ )!
- )
- !
Item was added:
+ ----- Method: Preferences class>>setBalloonFontTo: (in category 'fonts') -----
+ setBalloonFontTo: aFont
+
+ Smalltalk at: #BalloonMorph ifPresent: [ :balloonMorph |
+ balloonMorph setBalloonFontTo: aFont ]!
Item was changed:
+ (PackageInfo named: 'System') postscript: 'Preferences restoreDefaultFonts.'!
- (PackageInfo named: 'System') postscript: 'Preferences restoreDefaultFonts'!
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.278.mcz
==================== Summary ====================
Name: Tools-ul.278
Author: ul
Time: 15 November 2010, 8:46:10.672 am
UUID: d03d7286-1db1-f943-9e1c-6e86626b5f89
Ancestors: Tools-ul.277
Thread-safe DebuggerMethodMap
=============== Diff against Tools-ul.277 ===============
Item was changed:
Object subclass: #DebuggerMethodMap
instanceVariableNames: 'timestamp methodReference methodNode abstractSourceRanges sortedSourceMap'
+ classVariableNames: 'AccessLock MapCache MapCacheEntries'
- classVariableNames: 'MapCache MapCacheEntries'
poolDictionaries: ''
category: 'Tools-Debugger'!
!DebuggerMethodMap commentStamp: '<historical>' prior: 0!
I am a place-holder for information needed by the Debugger to inspect method activations. I insulate the debugger from details of code generation such as exact bytecode offsets and temporary variable locations. I have two concreate subclasses, one for methods compiled using BlueBook blocks and one for methods compiled using Closures. These classes deal with temporary variable access. My function is to abstract the source map away from actual bytecode pcs to abstract bytecode pcs.
To reduce compilation time I try and defer as much computation to access time as possible as instances of me will be created after each compilation.
I maintain a WeakIdentityDictionary of method to DebuggerMethodMap to cache maps. I refer to my method through a WeakArray to keep the map cache functional. If the reference from a DebuggerMethodMap to its method were strong then the method would never be dropped from the cache because the reference from its map would keep it alive.!
Item was changed:
----- Method: DebuggerMethodMap class>>cacheDebugMap:forMethod: (in category 'debugger support') -----
cacheDebugMap: aDebuggerMethodMap forMethod: aCompiledMethod
+
+ ^self protected: [
+ MapCache size >= MapCacheEntries ifTrue: [
+ MapCache slowSize >= MapCacheEntries
+ ifFalse: [ MapCache rehash ]
+ ifTrue: [
+ | mapsByAge |
+ mapsByAge := MapCache keys sort: [ :m1 :m2 |
+ "We are holding strongly on the keys, so #at: is suitable."
+ (MapCache at: m1) timestamp < (MapCache at: m2) timestamp].
+ mapsByAge from: 1 to: mapsByAge size - MapCacheEntries do: [ :each |
+ MapCache removeKey: each ] ] ].
+ MapCache
+ at: aCompiledMethod
+ put: aDebuggerMethodMap ]!
- MapCache finalizeValues.
- [MapCache size >= MapCacheEntries] whileTrue:
- [| mapsByAge |
- mapsByAge := MapCache keys asArray sort:
- [:m1 :m2|
- (MapCache at: m1) timestamp
- < (MapCache at: m2) timestamp].
- mapsByAge notEmpty ifTrue: "There be race conditions and reentrancy issues here"
- [MapCache removeKey: mapsByAge last]].
-
- ^MapCache
- at: aCompiledMethod
- put: aDebuggerMethodMap!
Item was changed:
----- Method: DebuggerMethodMap class>>forMethod: (in category 'instance creation') -----
forMethod: aMethod "<CompiledMethod>"
"Answer a DebuggerMethodMap suitable for debugging activations of aMethod.
Answer an existing instance from the cache if it exists, cacheing a new one if required."
+
+ ^self protected: [
+ MapCache
+ at: aMethod
+ ifAbsent: [self
+ cacheDebugMap:
+ (self
+ forMethod: aMethod
+ methodNode: aMethod methodNode)
+ forMethod: aMethod] ]!
- ^MapCache
- at: aMethod
- ifAbsent: [self
- cacheDebugMap:
- (self
- forMethod: aMethod
- methodNode: aMethod methodNode)
- forMethod: aMethod]!
Item was added:
+ ----- Method: DebuggerMethodMap class>>protected: (in category 'synchronization') -----
+ protected: aBlock
+
+ ^(AccessLock ifNil: [ AccessLock := Mutex new ]) critical: aBlock!
Item was changed:
----- Method: DebuggerMethodMap class>>voidMapCache (in category 'class initialization') -----
voidMapCache
+
+ self protected: [
+ MapCache := WeakIdentityKeyDictionary new.
+ MapCacheEntries := 16 ]!
- MapCache := WeakIdentityKeyDictionary new.
- MapCacheEntries := 16!
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.278.mcz
==================== Summary ====================
Name: Tools-ul.278
Author: ul
Time: 15 November 2010, 8:46:10.672 am
UUID: d03d7286-1db1-f943-9e1c-6e86626b5f89
Ancestors: Tools-ul.277
Thread-safe DebuggerMethodMap
=============== Diff against Tools-ul.277 ===============
Item was changed:
Object subclass: #DebuggerMethodMap
instanceVariableNames: 'timestamp methodReference methodNode abstractSourceRanges sortedSourceMap'
+ classVariableNames: 'AccessLock MapCache MapCacheEntries'
- classVariableNames: 'MapCache MapCacheEntries'
poolDictionaries: ''
category: 'Tools-Debugger'!
!DebuggerMethodMap commentStamp: '<historical>' prior: 0!
I am a place-holder for information needed by the Debugger to inspect method activations. I insulate the debugger from details of code generation such as exact bytecode offsets and temporary variable locations. I have two concreate subclasses, one for methods compiled using BlueBook blocks and one for methods compiled using Closures. These classes deal with temporary variable access. My function is to abstract the source map away from actual bytecode pcs to abstract bytecode pcs.
To reduce compilation time I try and defer as much computation to access time as possible as instances of me will be created after each compilation.
I maintain a WeakIdentityDictionary of method to DebuggerMethodMap to cache maps. I refer to my method through a WeakArray to keep the map cache functional. If the reference from a DebuggerMethodMap to its method were strong then the method would never be dropped from the cache because the reference from its map would keep it alive.!
Item was changed:
----- Method: DebuggerMethodMap class>>cacheDebugMap:forMethod: (in category 'debugger support') -----
cacheDebugMap: aDebuggerMethodMap forMethod: aCompiledMethod
+
+ ^self protected: [
+ MapCache size >= MapCacheEntries ifTrue: [
+ MapCache slowSize >= MapCacheEntries
+ ifFalse: [ MapCache rehash ]
+ ifTrue: [
+ | mapsByAge |
+ mapsByAge := MapCache keys sort: [ :m1 :m2 |
+ "We are holding strongly on the keys, so #at: is suitable."
+ (MapCache at: m1) timestamp < (MapCache at: m2) timestamp].
+ mapsByAge from: 1 to: mapsByAge size - MapCacheEntries do: [ :each |
+ MapCache removeKey: each ] ] ].
+ MapCache
+ at: aCompiledMethod
+ put: aDebuggerMethodMap ]!
- MapCache finalizeValues.
- [MapCache size >= MapCacheEntries] whileTrue:
- [| mapsByAge |
- mapsByAge := MapCache keys asArray sort:
- [:m1 :m2|
- (MapCache at: m1) timestamp
- < (MapCache at: m2) timestamp].
- mapsByAge notEmpty ifTrue: "There be race conditions and reentrancy issues here"
- [MapCache removeKey: mapsByAge last]].
-
- ^MapCache
- at: aCompiledMethod
- put: aDebuggerMethodMap!
Item was changed:
----- Method: DebuggerMethodMap class>>forMethod: (in category 'instance creation') -----
forMethod: aMethod "<CompiledMethod>"
"Answer a DebuggerMethodMap suitable for debugging activations of aMethod.
Answer an existing instance from the cache if it exists, cacheing a new one if required."
+
+ ^self protected: [
+ MapCache
+ at: aMethod
+ ifAbsent: [self
+ cacheDebugMap:
+ (self
+ forMethod: aMethod
+ methodNode: aMethod methodNode)
+ forMethod: aMethod] ]!
- ^MapCache
- at: aMethod
- ifAbsent: [self
- cacheDebugMap:
- (self
- forMethod: aMethod
- methodNode: aMethod methodNode)
- forMethod: aMethod]!
Item was added:
+ ----- Method: DebuggerMethodMap class>>protected: (in category 'synchronization') -----
+ protected: aBlock
+
+ ^(AccessLock ifNil: [ AccessLock := Mutex new ]) critical: aBlock!
Item was changed:
----- Method: DebuggerMethodMap class>>voidMapCache (in category 'class initialization') -----
voidMapCache
+
+ self protected: [
+ MapCache := WeakIdentityKeyDictionary new.
+ MapCacheEntries := 16 ]!
- MapCache := WeakIdentityKeyDictionary new.
- MapCacheEntries := 16!
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.278.mcz
==================== Summary ====================
Name: Tools-ul.278
Author: ul
Time: 15 November 2010, 8:46:10.672 am
UUID: d03d7286-1db1-f943-9e1c-6e86626b5f89
Ancestors: Tools-ul.277
Thread-safe DebuggerMethodMap
=============== Diff against Tools-ul.277 ===============
Item was changed:
Object subclass: #DebuggerMethodMap
instanceVariableNames: 'timestamp methodReference methodNode abstractSourceRanges sortedSourceMap'
+ classVariableNames: 'AccessLock MapCache MapCacheEntries'
- classVariableNames: 'MapCache MapCacheEntries'
poolDictionaries: ''
category: 'Tools-Debugger'!
!DebuggerMethodMap commentStamp: '<historical>' prior: 0!
I am a place-holder for information needed by the Debugger to inspect method activations. I insulate the debugger from details of code generation such as exact bytecode offsets and temporary variable locations. I have two concreate subclasses, one for methods compiled using BlueBook blocks and one for methods compiled using Closures. These classes deal with temporary variable access. My function is to abstract the source map away from actual bytecode pcs to abstract bytecode pcs.
To reduce compilation time I try and defer as much computation to access time as possible as instances of me will be created after each compilation.
I maintain a WeakIdentityDictionary of method to DebuggerMethodMap to cache maps. I refer to my method through a WeakArray to keep the map cache functional. If the reference from a DebuggerMethodMap to its method were strong then the method would never be dropped from the cache because the reference from its map would keep it alive.!
Item was changed:
----- Method: DebuggerMethodMap class>>cacheDebugMap:forMethod: (in category 'debugger support') -----
cacheDebugMap: aDebuggerMethodMap forMethod: aCompiledMethod
+
+ ^self protected: [
+ MapCache size >= MapCacheEntries ifTrue: [
+ MapCache slowSize >= MapCacheEntries
+ ifFalse: [ MapCache rehash ]
+ ifTrue: [
+ | mapsByAge |
+ mapsByAge := MapCache keys sort: [ :m1 :m2 |
+ "We are holding strongly on the keys, so #at: is suitable."
+ (MapCache at: m1) timestamp < (MapCache at: m2) timestamp].
+ mapsByAge from: 1 to: mapsByAge size - MapCacheEntries do: [ :each |
+ MapCache removeKey: each ] ] ].
+ MapCache
+ at: aCompiledMethod
+ put: aDebuggerMethodMap ]!
- MapCache finalizeValues.
- [MapCache size >= MapCacheEntries] whileTrue:
- [| mapsByAge |
- mapsByAge := MapCache keys asArray sort:
- [:m1 :m2|
- (MapCache at: m1) timestamp
- < (MapCache at: m2) timestamp].
- mapsByAge notEmpty ifTrue: "There be race conditions and reentrancy issues here"
- [MapCache removeKey: mapsByAge last]].
-
- ^MapCache
- at: aCompiledMethod
- put: aDebuggerMethodMap!
Item was changed:
----- Method: DebuggerMethodMap class>>forMethod: (in category 'instance creation') -----
forMethod: aMethod "<CompiledMethod>"
"Answer a DebuggerMethodMap suitable for debugging activations of aMethod.
Answer an existing instance from the cache if it exists, cacheing a new one if required."
+
+ ^self protected: [
+ MapCache
+ at: aMethod
+ ifAbsent: [self
+ cacheDebugMap:
+ (self
+ forMethod: aMethod
+ methodNode: aMethod methodNode)
+ forMethod: aMethod] ]!
- ^MapCache
- at: aMethod
- ifAbsent: [self
- cacheDebugMap:
- (self
- forMethod: aMethod
- methodNode: aMethod methodNode)
- forMethod: aMethod]!
Item was added:
+ ----- Method: DebuggerMethodMap class>>protected: (in category 'synchronization') -----
+ protected: aBlock
+
+ ^(AccessLock ifNil: [ AccessLock := Mutex new ]) critical: aBlock!
Item was changed:
----- Method: DebuggerMethodMap class>>voidMapCache (in category 'class initialization') -----
voidMapCache
+
+ self protected: [
+ MapCache := WeakIdentityKeyDictionary new.
+ MapCacheEntries := 16 ]!
- MapCache := WeakIdentityKeyDictionary new.
- MapCacheEntries := 16!