summaryrefslogtreecommitdiff
path: root/shape.h
diff options
context:
space:
mode:
Diffstat (limited to 'shape.h')
-rw-r--r--shape.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/shape.h b/shape.h
index 53c3cce48e..ab5f707383 100644
--- a/shape.h
+++ b/shape.h
@@ -3,7 +3,7 @@
#include "internal/gc.h"
-#if (SIZEOF_UINT64_T == SIZEOF_VALUE)
+#if (SIZEOF_UINT64_T <= SIZEOF_VALUE)
#define SIZEOF_SHAPE_T 4
#define SHAPE_IN_BASIC_FLAGS 1
typedef uint32_t attr_index_t;
@@ -18,9 +18,11 @@ typedef uint16_t attr_index_t;
#if SIZEOF_SHAPE_T == 4
typedef uint32_t shape_id_t;
# define SHAPE_ID_NUM_BITS 32
+# define SHAPE_BUFFER_SIZE 0x80000
#else
typedef uint16_t shape_id_t;
# define SHAPE_ID_NUM_BITS 16
+# define SHAPE_BUFFER_SIZE 0x8000
#endif
# define SHAPE_MASK (((uintptr_t)1 << SHAPE_ID_NUM_BITS) - 1)
@@ -28,8 +30,6 @@ typedef uint16_t shape_id_t;
# define SHAPE_FLAG_SHIFT ((SIZEOF_VALUE * 8) - SHAPE_ID_NUM_BITS)
-# define SHAPE_BUFFER_SIZE 0x80000
-
# define SHAPE_MAX_VARIATIONS 8
# define SHAPE_MAX_NUM_IVS 80