summaryrefslogtreecommitdiff
path: root/internal/gc.h
diff options
context:
space:
mode:
Diffstat (limited to 'internal/gc.h')
-rw-r--r--internal/gc.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/gc.h b/internal/gc.h
index d43eb29578..e54a5dce9d 100644
--- a/internal/gc.h
+++ b/internal/gc.h
@@ -67,7 +67,13 @@ struct rb_objspace; /* in vm_core.h */
rb_obj_write((VALUE)(a), UNALIGNED_MEMBER_ACCESS((VALUE *)(slot)), \
(VALUE)(b), __FILE__, __LINE__)
-#include "shape.h"
+// We use SIZE_POOL_COUNT number of shape IDs for transitions out of different size pools
+// The next available shapd ID will be the SPECIAL_CONST_SHAPE_ID
+#if USE_RVARGC && (SIZEOF_UINT64_T == SIZEOF_VALUE)
+# define SIZE_POOL_COUNT 5
+#else
+# define SIZE_POOL_COUNT 1
+#endif
#define RCLASS_EXT_EMBEDDED (SIZE_POOL_COUNT > 1)