[[NSGarbageCollector defaultCollector] isEnabled] wrong?
-
Hi,
I want to assure GC is on for my app. I did try adding PRINT_GC=YES to
my Environment and THAT says that it is indeed on (or atleast that my
app requires it).
objc[3069]: GC: executable '/Users/dominik/Sources/objectiveC/
DimeTracker/build/Debug/DimeTracker.app/Contents/MacOS/DimeTracker'
requires GC
objc[3069]: GC: library '/System/Library/Frameworks/
ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/
Versions/A/CoreText' supports GC
objc[3069]: GC: library '/System/Library/PrivateFrameworks/
CoreUI.framework/Versions/A/CoreUI' supports GC
objc[3069]: GC: library '/System/Library/Frameworks/
QuartzCore.framework/Versions/A/QuartzCore' supports GC
objc[3069]: GC: library '/System/Library/Frameworks/Carbon.framework/
Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox'
supports GC
objc[3069]: GC: library '/System/Library/Frameworks/CoreData.framework/
Versions/A/CoreData' supports GC
objc[3069]: GC: library '/System/Library/Frameworks/
Foundation.framework/Versions/C/Foundation' supports GC
objc[3069]: GC: library '/System/Library/Frameworks/AppKit.framework/
Versions/C/AppKit' supports GC
objc[3069]: GC: library '/System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation' supports GC
objc[3069]: GC: library '/usr/lib/libobjc.A.dylib' supports GC
objc[3069]: GC: is ON
objc[3069]: GC: library '/System/Library/Frameworks/Carbon.framework/
Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels'
supports GC
objc[3069]: GC: library '/System/Library/PrivateFrameworks/
HelpData.framework/Versions/A/HelpData' supports GC
objc[3069]: GC: library '/System/Library/PrivateFrameworks/
Shortcut.framework/Versions/A/Shortcut' supports GC
But asking NSGarbageCollector I get no for an answer:
- (void)awakeFromNib {
if([[NSGarbageCollector defaultCollector] isEnabled])
NSLog(@"GC on");
else
NSLog(@"GC off");
Did I simply not understand the docs right? Or..... is GC always off
during awakeFromNib or something?
Thanks,
Dominik -
Enable/disable/isEnabled allow you to temporarily suspend collection I
think.
Just check if [NSGarbageCollector defaultCollector] is nil or not.
Karl
On Feb 5, 2008, at 12:13 PM, Dominik Pich wrote:
> Hi,
> I want to assure GC is on for my app. I did try adding PRINT_GC=YES
> to my Environment and THAT says that it is indeed on (or atleast
> that my app requires it).
> objc[3069]: GC: executable '/Users/dominik/Sources/objectiveC/
> DimeTracker/build/Debug/DimeTracker.app/Contents/MacOS/DimeTracker'
> requires GC
> objc[3069]: GC: library '/System/Library/Frameworks/
> ApplicationServices.framework/Versions/A/Frameworks/
> CoreText.framework/Versions/A/CoreText' supports GC
> objc[3069]: GC: library '/System/Library/PrivateFrameworks/
> CoreUI.framework/Versions/A/CoreUI' supports GC
> objc[3069]: GC: library '/System/Library/Frameworks/
> QuartzCore.framework/Versions/A/QuartzCore' supports GC
> objc[3069]: GC: library '/System/Library/Frameworks/Carbon.framework/
> Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox'
> supports GC
> objc[3069]: GC: library '/System/Library/Frameworks/
> CoreData.framework/Versions/A/CoreData' supports GC
> objc[3069]: GC: library '/System/Library/Frameworks/
> Foundation.framework/Versions/C/Foundation' supports GC
> objc[3069]: GC: library '/System/Library/Frameworks/AppKit.framework/
> Versions/C/AppKit' supports GC
> objc[3069]: GC: library '/System/Library/Frameworks/
> CoreFoundation.framework/Versions/A/CoreFoundation' supports GC
> objc[3069]: GC: library '/usr/lib/libobjc.A.dylib' supports GC
> objc[3069]: GC: is ON
> objc[3069]: GC: library '/System/Library/Frameworks/Carbon.framework/
> Versions/A/Frameworks/CommonPanels.framework/Versions/A/
> CommonPanels' supports GC
> objc[3069]: GC: library '/System/Library/PrivateFrameworks/
> HelpData.framework/Versions/A/HelpData' supports GC
> objc[3069]: GC: library '/System/Library/PrivateFrameworks/
> Shortcut.framework/Versions/A/Shortcut' supports GC
>
> But asking NSGarbageCollector I get no for an answer:
> - (void)awakeFromNib {
> if([[NSGarbageCollector defaultCollector] isEnabled])
> NSLog(@"GC on");
> else
> NSLog(@"GC off");
>
> Did I simply not understand the docs right? Or..... is GC always off
> during awakeFromNib or something?
>
> Thanks,
> Dominik
--
The day Microsoft makes something that doesn't suck is the day they
start making vacuum cleaners.
Homepage:
http://homepage.mac.com/khsu/index.html -
It is not nil but I still dont think isEnabled should be NO?
On Feb 6, 2008, at 3:34 AM, Hsu wrote:
> Enable/disable/isEnabled allow you to temporarily suspend collection
> I think.
>
> Just check if [NSGarbageCollector defaultCollector] is nil or not.
>
> Karl
>
>
> On Feb 5, 2008, at 12:13 PM, Dominik Pich wrote:
>
>> Hi,
>> I want to assure GC is on for my app. I did try adding PRINT_GC=YES
>> to my Environment and THAT says that it is indeed on (or atleast
>> that my app requires it).
>> objc[3069]: GC: executable '/Users/dominik/Sources/objectiveC/
>> DimeTracker/build/Debug/DimeTracker.app/Contents/MacOS/DimeTracker'
>> requires GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> ApplicationServices.framework/Versions/A/Frameworks/
>> CoreText.framework/Versions/A/CoreText' supports GC
>> objc[3069]: GC: library '/System/Library/PrivateFrameworks/
>> CoreUI.framework/Versions/A/CoreUI' supports GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> QuartzCore.framework/Versions/A/QuartzCore' supports GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/
>> A/HIToolbox' supports GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> CoreData.framework/Versions/A/CoreData' supports GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> Foundation.framework/Versions/C/Foundation' supports GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> AppKit.framework/Versions/C/AppKit' supports GC
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> CoreFoundation.framework/Versions/A/CoreFoundation' supports GC
>> objc[3069]: GC: library '/usr/lib/libobjc.A.dylib' supports GC
>> objc[3069]: GC: is ON
>> objc[3069]: GC: library '/System/Library/Frameworks/
>> Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/
>> Versions/A/CommonPanels' supports GC
>> objc[3069]: GC: library '/System/Library/PrivateFrameworks/
>> HelpData.framework/Versions/A/HelpData' supports GC
>> objc[3069]: GC: library '/System/Library/PrivateFrameworks/
>> Shortcut.framework/Versions/A/Shortcut' supports GC
>>
>> But asking NSGarbageCollector I get no for an answer:
>> - (void)awakeFromNib {
>> if([[NSGarbageCollector defaultCollector] isEnabled])
>> NSLog(@"GC on");
>> else
>> NSLog(@"GC off");
>>
>> Did I simply not understand the docs right? Or..... is GC always
>> off during awakeFromNib or something?
>>
>> Thanks,
>> Dominik
>
> --
>
> The day Microsoft makes something that doesn't suck is the day they
> start making vacuum cleaners.
>
> Homepage:
> http://homepage.mac.com/khsu/index.html
>



