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