]> git.saurik.com Git - apple/objc4.git/blobdiff - runtime/objc-sel-table.s
objc4-818.2.tar.gz
[apple/objc4.git] / runtime / objc-sel-table.s
index 04e3cee2cb4bd14e73fb719a176ca5c6ae9b8fbb..3fb517a852f87aef3c125d8156830412a2c73ba0 100644 (file)
@@ -2,58 +2,38 @@
 #include <mach/vm_param.h>
 
 #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)