31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifdef OF_HAVE_ATOMIC_OPS
# import "atomic.h"
#endif
#ifdef OF_HAVE_THREADS
# import "mutex.h"
#endif
typedef struct of_block_byref_t of_block_byref_t;
struct of_block_byref_t {
Class isa;
of_block_byref_t *forwarding;
int flags;
int size;
void (*byref_keep)(void *dest, void *src);
void (*byref_dispose)(void *);
};
enum {
|
|
>
>
>
>
|
>
>
>
>
>
>
>
>
>
|
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#ifdef OF_HAVE_ATOMIC_OPS
# import "atomic.h"
#endif
#ifdef OF_HAVE_THREADS
# import "mutex.h"
#endif
struct block {
Class isa;
int flags;
int reserved;
void (*invoke)(void *block, ...);
struct {
unsigned long reserved;
unsigned long size;
void (*_Nullable copy_helper)(void *dest, void *src);
void (*_Nullable dispose_helper)(void *src);
const char *signature;
} *descriptor;
};
struct byref {
Class isa;
struct byref *forwarding;
int flags;
int size;
void (*byref_keep)(void *dest, void *src);
void (*byref_dispose)(void *);
};
enum {
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
static struct objc_class _NSConcreteStackBlock_metaclass = {
Nil, Nil, "OFStackBlock", 8, OBJC_CLASS_INFO_METACLASS,
sizeof(_NSConcreteStackBlock_metaclass), NULL, NULL
};
struct objc_class _NSConcreteStackBlock = {
&_NSConcreteStackBlock_metaclass, (Class)(void *)"OFBlock",
"OFStackBlock", 8, OBJC_CLASS_INFO_CLASS, sizeof(of_block_literal_t),
NULL, NULL
};
static struct objc_class _NSConcreteGlobalBlock_metaclass = {
Nil, Nil, "OFGlobalBlock", 8, OBJC_CLASS_INFO_METACLASS,
sizeof(_NSConcreteGlobalBlock_metaclass), NULL, NULL
};
struct objc_class _NSConcreteGlobalBlock = {
&_NSConcreteGlobalBlock_metaclass, (Class)(void *)"OFBlock",
"OFGlobalBlock", 8, OBJC_CLASS_INFO_CLASS, sizeof(of_block_literal_t),
NULL, NULL
};
static struct objc_class _NSConcreteMallocBlock_metaclass = {
Nil, Nil, "OFMallocBlock", 8, OBJC_CLASS_INFO_METACLASS,
sizeof(_NSConcreteMallocBlock_metaclass), NULL, NULL
};
struct objc_class _NSConcreteMallocBlock = {
&_NSConcreteMallocBlock_metaclass, (Class)(void *)"OFBlock",
"OFMallocBlock", 8, OBJC_CLASS_INFO_CLASS, sizeof(of_block_literal_t),
NULL, NULL
};
static struct {
unsigned long unknown;
struct objc_selector *selectorRefs;
uint16_t classDefsCount, categoryDefsCount;
|
|
|
|
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
static struct objc_class _NSConcreteStackBlock_metaclass = {
Nil, Nil, "OFStackBlock", 8, OBJC_CLASS_INFO_METACLASS,
sizeof(_NSConcreteStackBlock_metaclass), NULL, NULL
};
struct objc_class _NSConcreteStackBlock = {
&_NSConcreteStackBlock_metaclass, (Class)(void *)"OFBlock",
"OFStackBlock", 8, OBJC_CLASS_INFO_CLASS, sizeof(struct block),
NULL, NULL
};
static struct objc_class _NSConcreteGlobalBlock_metaclass = {
Nil, Nil, "OFGlobalBlock", 8, OBJC_CLASS_INFO_METACLASS,
sizeof(_NSConcreteGlobalBlock_metaclass), NULL, NULL
};
struct objc_class _NSConcreteGlobalBlock = {
&_NSConcreteGlobalBlock_metaclass, (Class)(void *)"OFBlock",
"OFGlobalBlock", 8, OBJC_CLASS_INFO_CLASS, sizeof(struct block),
NULL, NULL
};
static struct objc_class _NSConcreteMallocBlock_metaclass = {
Nil, Nil, "OFMallocBlock", 8, OBJC_CLASS_INFO_METACLASS,
sizeof(_NSConcreteMallocBlock_metaclass), NULL, NULL
};
struct objc_class _NSConcreteMallocBlock = {
&_NSConcreteMallocBlock_metaclass, (Class)(void *)"OFBlock",
"OFMallocBlock", 8, OBJC_CLASS_INFO_CLASS, sizeof(struct block),
NULL, NULL
};
static struct {
unsigned long unknown;
struct objc_selector *selectorRefs;
uint16_t classDefsCount, categoryDefsCount;
|