diff options
Diffstat (limited to 'src/value.c')
-rw-r--r-- | src/value.c | 4 |
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}; } |