Skip to content

Commit c12a2bc

Browse files
committed
patch libdispatch BlocksRT header
1 parent 0c34941 commit c12a2bc

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
diff --git a/src/BlocksRuntime/Block_private.h b/src/BlocksRuntime/Block_private.h
2+
index b2e1512..df6fa19 100644
3+
--- a/src/BlocksRuntime/Block_private.h
4+
+++ b/src/BlocksRuntime/Block_private.h
5+
@@ -197,9 +197,17 @@ BLOCK_EXPORT bool _Block_tryRetain(const void *aBlock);
6+
// Callable only from the ARR weak subsystem while in exclusion zone
7+
BLOCK_EXPORT bool _Block_isDeallocating(const void *aBlock);
8+
9+
-
10+
// the raw data space for runtime classes for blocks
11+
// class+meta used for stack, malloc, and collectable based blocks
12+
+#if defined(_WIN32)
13+
+extern void * _NSConcreteMallocBlock[32];
14+
+extern void * _NSConcreteAutoBlock[32];
15+
+extern void * _NSConcreteFinalizingBlock[32];
16+
+extern void * _NSConcreteWeakBlockVariable[32];
17+
+// declared in Block.h
18+
+// extern void * _NSConcreteGlobalBlock[32];
19+
+// extern void * _NSConcreteStackBlock[32];
20+
+#else
21+
BLOCK_EXPORT void * _NSConcreteMallocBlock[32];
22+
BLOCK_EXPORT void * _NSConcreteAutoBlock[32];
23+
BLOCK_EXPORT void * _NSConcreteFinalizingBlock[32];
24+
@@ -207,6 +215,7 @@ BLOCK_EXPORT void * _NSConcreteWeakBlockVariable[32];
25+
// declared in Block.h
26+
// BLOCK_EXPORT void * _NSConcreteGlobalBlock[32];
27+
// BLOCK_EXPORT void * _NSConcreteStackBlock[32];
28+
+#endif
29+
30+
31+
// the intercept routines that must be used under GC

0 commit comments

Comments
 (0)