]> git.saurik.com Git - apple/objc4.git/blob - runtime/objc-sel-table.s
objc4-779.1.tar.gz
[apple/objc4.git] / runtime / objc-sel-table.s
1 #include <TargetConditionals.h>
2 #include <mach/vm_param.h>
3
4 #if __LP64__
5 # define PTR(x) .quad x
6 #else
7 # define PTR(x) .long x
8 #endif
9
10 // These offsets are populated by the dyld shared cache builder.
11 // They point to memory allocatd elsewhere in the shared cache.
12
13 .section __TEXT,__objc_opt_ro
14 .align 3
15 .private_extern __objc_opt_data
16 __objc_opt_data:
17 .long 15 /* table.version */
18 .long 0 /* table.flags */
19 .long 0 /* table.selopt_offset */
20 .long 0 /* table.headeropt_ro_offset */
21 .long 0 /* table.clsopt_offset */
22 .long 0 /* table.protocolopt_offset */
23 .long 0 /* table.headeropt_rw_offset */
24 .space PAGE_MAX_SIZE-28
25
26
27 /* section of pointers that the shared cache optimizer wants to know about */
28 .section __DATA,__objc_opt_ptrs
29 .align 3
30
31 #if TARGET_OS_OSX && __i386__
32 // old ABI
33 .globl .objc_class_name_Protocol
34 PTR(.objc_class_name_Protocol)
35 #else
36 // new ABI
37 .globl _OBJC_CLASS_$_Protocol
38 PTR(_OBJC_CLASS_$_Protocol)
39 #endif