1 // -*- truncate-lines: t; -*-
3 // OPTION(var, env, help)
5 OPTION( PrintImages
, OBJC_PRINT_IMAGES
, "log image and library names as they are loaded")
6 OPTION( PrintImageTimes
, OBJC_PRINT_IMAGE_TIMES
, "measure duration of image loading steps")
7 OPTION( PrintLoading
, OBJC_PRINT_LOAD_METHODS
, "log calls to class and category +load methods")
8 OPTION( PrintInitializing
, OBJC_PRINT_INITIALIZE_METHODS
, "log calls to class +initialize methods")
9 OPTION( PrintResolving
, OBJC_PRINT_RESOLVED_METHODS
, "log methods created by +resolveClassMethod: and +resolveInstanceMethod:")
10 OPTION( PrintConnecting
, OBJC_PRINT_CLASS_SETUP
, "log progress of class and category setup")
11 OPTION( PrintProtocols
, OBJC_PRINT_PROTOCOL_SETUP
, "log progress of protocol setup")
12 OPTION( PrintIvars
, OBJC_PRINT_IVAR_SETUP
, "log processing of non-fragile ivars")
13 OPTION( PrintVtables
, OBJC_PRINT_VTABLE_SETUP
, "log processing of class vtables")
14 OPTION( PrintVtableImages
, OBJC_PRINT_VTABLE_IMAGES
, "print vtable images showing overridden methods")
15 OPTION( PrintCaches
, OBJC_PRINT_CACHE_SETUP
, "log processing of method caches")
16 OPTION( PrintFuture
, OBJC_PRINT_FUTURE_CLASSES
, "log use of future classes for toll-free bridging")
17 OPTION( PrintPreopt
, OBJC_PRINT_PREOPTIMIZATION
, "log preoptimization courtesy of dyld shared cache")
18 OPTION( PrintCxxCtors
, OBJC_PRINT_CXX_CTORS
, "log calls to C++ ctors and dtors for instance variables")
19 OPTION( PrintExceptions
, OBJC_PRINT_EXCEPTIONS
, "log exception handling")
20 OPTION( PrintExceptionThrow
, OBJC_PRINT_EXCEPTION_THROW
, "log backtrace of every objc_exception_throw()")
21 OPTION( PrintAltHandlers
, OBJC_PRINT_ALT_HANDLERS
, "log processing of exception alt handlers")
22 OPTION( PrintReplacedMethods
, OBJC_PRINT_REPLACED_METHODS
, "log methods replaced by category implementations")
23 OPTION( PrintDeprecation
, OBJC_PRINT_DEPRECATION_WARNINGS
, "warn about calls to deprecated runtime functions")
24 OPTION( PrintPoolHiwat
, OBJC_PRINT_POOL_HIGHWATER
, "log high-water marks for autorelease pools")
25 OPTION( PrintCustomCore
, OBJC_PRINT_CUSTOM_CORE
, "log classes with custom core methods")
26 OPTION( PrintCustomRR
, OBJC_PRINT_CUSTOM_RR
, "log classes with custom retain/release methods")
27 OPTION( PrintCustomAWZ
, OBJC_PRINT_CUSTOM_AWZ
, "log classes with custom allocWithZone methods")
28 OPTION( PrintRawIsa
, OBJC_PRINT_RAW_ISA
, "log classes that require raw pointer isa fields")
30 OPTION( DebugUnload
, OBJC_DEBUG_UNLOAD
, "warn about poorly-behaving bundles when unloaded")
31 OPTION( DebugFragileSuperclasses
, OBJC_DEBUG_FRAGILE_SUPERCLASSES
, "warn about subclasses that may have been broken by subsequent changes to superclasses")
32 OPTION( DebugNilSync
, OBJC_DEBUG_NIL_SYNC
, "warn about @synchronized(nil), which does no synchronization")
33 OPTION( DebugNonFragileIvars
, OBJC_DEBUG_NONFRAGILE_IVARS
, "capriciously rearrange non-fragile ivars")
34 OPTION( DebugAltHandlers
, OBJC_DEBUG_ALT_HANDLERS
, "record more info about bad alt handler use")
35 OPTION( DebugMissingPools
, OBJC_DEBUG_MISSING_POOLS
, "warn about autorelease with no pool in place, which may be a leak")
36 OPTION( DebugPoolAllocation
, OBJC_DEBUG_POOL_ALLOCATION
, "halt when autorelease pools are popped out of order, and allow heap debuggers to track autorelease pools")
37 OPTION( DebugDuplicateClasses
, OBJC_DEBUG_DUPLICATE_CLASSES
, "halt when multiple classes with the same name are present")
38 OPTION( DebugDontCrash
, OBJC_DEBUG_DONT_CRASH
, "halt the process by exiting instead of crashing")
39 OPTION( DebugPoolDepth
, OBJC_DEBUG_POOL_DEPTH
, "log fault when at least a set number of autorelease pages has been allocated")
41 OPTION( DisableVtables
, OBJC_DISABLE_VTABLES
, "disable vtable dispatch")
42 OPTION( DisablePreopt
, OBJC_DISABLE_PREOPTIMIZATION
, "disable preoptimization courtesy of dyld shared cache")
43 OPTION( DisableTaggedPointers
, OBJC_DISABLE_TAGGED_POINTERS
, "disable tagged pointer optimization of NSNumber et al.")
44 OPTION( DisableTaggedPointerObfuscation
, OBJC_DISABLE_TAG_OBFUSCATION
, "disable obfuscation of tagged pointers")
45 OPTION( DisableNonpointerIsa
, OBJC_DISABLE_NONPOINTER_ISA
, "disable non-pointer isa fields")
46 OPTION( DisableInitializeForkSafety
, OBJC_DISABLE_INITIALIZE_FORK_SAFETY
, "disable safety checks for +initialize after fork")
47 OPTION( DisableFaults
, OBJC_DISABLE_FAULTS
, "disable os faults")
48 OPTION( DisablePreoptCaches
, OBJC_DISABLE_PREOPTIMIZED_CACHES
, "disable preoptimized caches")
49 OPTION( DisableAutoreleaseCoalescing
, OBJC_DISABLE_AUTORELEASE_COALESCING
, "disable coalescing of autorelease pool pointers")
50 OPTION( DisableAutoreleaseCoalescingLRU
, OBJC_DISABLE_AUTORELEASE_COALESCING_LRU
, "disable coalescing of autorelease pool pointers using look back N strategy")