tidepool_codegen/
layout.rs1pub const VMCTX_ALLOC_PTR_OFFSET: i32 = 0;
13pub const VMCTX_ALLOC_LIMIT_OFFSET: i32 = 8;
15pub const VMCTX_GC_TRIGGER_OFFSET: i32 = 16;
17pub const VMCTX_TAIL_CALLEE_OFFSET: i32 = 24;
19pub const VMCTX_TAIL_ARG_OFFSET: i32 = 32;
21
22pub const TAG_CLOSURE: u8 = 0;
25pub const TAG_THUNK: u8 = 1;
26pub const TAG_CON: u8 = 2;
27pub const TAG_LIT: u8 = 3;
28pub const TAG_FORWARDED: u8 = 0xFF;
29
30pub const THUNK_UNEVALUATED: u8 = 0;
33pub const THUNK_BLACKHOLE: u8 = 1;
34pub const THUNK_EVALUATED: u8 = 2;
35
36pub const HEAP_HEADER_SIZE: u64 = 8;
39
40pub const CLOSURE_CODE_PTR_OFFSET: i32 = 8;
42pub const CLOSURE_NUM_CAPTURED_OFFSET: i32 = 16;
43pub const CLOSURE_CAPTURED_OFFSET: i32 = 24;
44
45pub const CON_TAG_OFFSET: i32 = 8;
47pub const CON_NUM_FIELDS_OFFSET: i32 = 16;
48pub const CON_FIELDS_OFFSET: i32 = 24;
49
50pub const LIT_TAG_OFFSET: i32 = 8;
52pub const LIT_VALUE_OFFSET: i32 = 16;
53pub const LIT_TOTAL_SIZE: u64 = 24;
54
55pub const LIT_TAG_INT: i64 = 0;
57pub const LIT_TAG_WORD: i64 = 1;
58pub const LIT_TAG_CHAR: i64 = 2;
59pub const LIT_TAG_FLOAT: i64 = 3;
60pub const LIT_TAG_DOUBLE: i64 = 4;
61pub const LIT_TAG_STRING: i64 = 5;
62pub const LIT_TAG_ADDR: i64 = 6;
63pub const LIT_TAG_BYTEARRAY: i64 = 7;
64pub const LIT_TAG_SMALLARRAY: i64 = 8;
65pub const LIT_TAG_ARRAY: i64 = 9;
66
67pub const THUNK_STATE_OFFSET: i32 = 8;
69pub const THUNK_CODE_PTR_OFFSET: i32 = 16;
70pub const THUNK_CAPTURED_OFFSET: i32 = 24;
71pub const THUNK_MIN_SIZE: u64 = 24;
72pub const THUNK_INDIRECTION_OFFSET: i32 = 16;