diff options
author | John Hawthorn <john@hawthorn.email> | 2021-06-02 08:15:39 -0700 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:35 -0400 |
commit | ea33b0a9baa26e96b1a34d7823ec0235d0e0bd90 (patch) | |
tree | a26be9134b7a367ff00d4c63757ba42e8929923f /yjit_core.h | |
parent | eb6e5be038a94c622f09188c957370d86650628c (diff) |
Add concatstrings to yjit codegen (#58)
* Add ETYPE_TRUE and ETYPE_FALSE
* Implement checktype
* Implement concatstrings
* Update deps
Diffstat (limited to 'yjit_core.h')
-rw-r--r-- | yjit_core.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/yjit_core.h b/yjit_core.h index d9cce3fe56..a2436e6eb3 100644 --- a/yjit_core.h +++ b/yjit_core.h @@ -32,6 +32,8 @@ enum yjit_type_enum { ETYPE_UNKNOWN = 0, ETYPE_NIL, + ETYPE_TRUE, + ETYPE_FALSE, ETYPE_FIXNUM, ETYPE_ARRAY, ETYPE_HASH, @@ -49,7 +51,7 @@ typedef struct yjit_type_struct uint8_t is_imm : 1; // Specific value type, if known - uint8_t type : 3; + uint8_t type : 4; } val_type_t; STATIC_ASSERT(val_type_size, sizeof(val_type_t) == 1); @@ -64,6 +66,8 @@ STATIC_ASSERT(val_type_size, sizeof(val_type_t) == 1); #define TYPE_IMM ( (val_type_t){ .is_imm = 1 } ) #define TYPE_NIL ( (val_type_t){ .is_imm = 1, .type = ETYPE_NIL } ) +#define TYPE_TRUE ( (val_type_t){ .is_imm = 1, .type = ETYPE_TRUE } ) +#define TYPE_FALSE ( (val_type_t){ .is_imm = 1, .type = ETYPE_FALSE } ) #define TYPE_FIXNUM ( (val_type_t){ .is_imm = 1, .type = ETYPE_FIXNUM } ) #define TYPE_ARRAY ( (val_type_t){ .is_heap = 1, .type = ETYPE_ARRAY } ) #define TYPE_HASH ( (val_type_t){ .is_heap = 1, .type = ETYPE_HASH } ) |