summaryrefslogtreecommitdiff
path: root/src/value.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/value.c')
-rw-r--r--src/value.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/value.c b/src/value.c
index b4e22a9..eacc21c 100644
--- a/src/value.c
+++ b/src/value.c
@@ -133,7 +133,9 @@ enum value_tag get_tag(struct value value) {
bool is_ptr(struct value value) { return !(value.bits & 1); }
struct value tag_ptr(struct object *obj, enum value_tag tag) {
- assume((tag & 0b1) == 0);
+ assume(tag == TAG_BIGINT_OR_NIL || tag == TAG_BUILTIN_OBJECT ||
+ tag == TAG_SIMPLE_ARRAY || tag == TAG_STANDARD_OBJECT ||
+ tag == TAG_GC_INTERNAL);
assume(((uintptr_t)obj & 0b111) == 0);
return (struct value){.bits = (uintptr_t)obj | tag};
}