X-Git-Url: https://git.saurik.com/apple/objc4.git/blobdiff_plain/31875a974789e6fabb418ee53dff5e8f10fd8119..refs/heads/master:/runtime/objc-sel-table.s diff --git a/runtime/objc-sel-table.s b/runtime/objc-sel-table.s index 04e3cee..3fb517a 100644 --- a/runtime/objc-sel-table.s +++ b/runtime/objc-sel-table.s @@ -2,58 +2,38 @@ #include #if __LP64__ +#if __arm64e__ +// 0x6AE1 +# define PTR(x) .quad x@AUTH(da, 27361, addr) +#else # define PTR(x) .quad x +#endif #else # define PTR(x) .long x #endif +// These offsets are populated by the dyld shared cache builder. +// They point to memory allocatd elsewhere in the shared cache. + .section __TEXT,__objc_opt_ro .align 3 .private_extern __objc_opt_data __objc_opt_data: -.long 13 /* table.version */ +.long 15 /* table.version */ +.long 0 /* table.flags */ .long 0 /* table.selopt_offset */ -.long 0 /* table.headeropt_offset */ -.long 0 /* table.clsopt_offset */ -.space PAGE_MAX_SIZE-16 - -/* space for selopt, smax/capacity=262144, blen/mask=262143+1 */ -.space 262144 /* mask tab */ -.space 524288 /* checkbytes */ -.space 524288*4 /* offsets */ - -/* space for clsopt, smax/capacity=32768, blen/mask=16383+1 */ -.space 16384 /* mask tab */ -.space 32768 /* checkbytes */ -.space 32768*12 /* offsets to name and class and header_info */ -.space PAGE_MAX_SIZE /* some duplicate classes */ - -/* space for protocolopt, smax/capacity=8192, blen/mask=4095+1 */ -.space 4096 /* mask tab */ -.space 8192 /* checkbytes */ -.space 8192*4 /* offsets */ - - -.section __DATA,__objc_opt_rw -.align 3 -.private_extern __objc_opt_rw_data -__objc_opt_rw_data: -/* space for header_info structures */ -.space 32768 - -/* space for 8192 protocols */ -#if __LP64__ -.space 8192 * 11 * 8 -#else -.space 8192 * 11 * 4 -#endif +.long 0 /* table.headeropt_ro_offset */ +.long 0 /* table.clsopt_offset */ +.long 0 /* table.protocolopt_offset */ +.long 0 /* table.headeropt_rw_offset */ +.space PAGE_MAX_SIZE-28 /* section of pointers that the shared cache optimizer wants to know about */ .section __DATA,__objc_opt_ptrs .align 3 -#if TARGET_OS_MAC && !TARGET_OS_IPHONE && __i386__ +#if TARGET_OS_OSX && __i386__ // old ABI .globl .objc_class_name_Protocol PTR(.objc_class_name_Protocol)