/home/travis/build/MoarVM/MoarVM/src/6model/reprs/P6int.h
Line | Count | Source (jump to first uncovered line) |
1 | 0 | #define MVM_P6INT_C_TYPE_CHAR -1 |
2 | 0 | #define MVM_P6INT_C_TYPE_SHORT -2 |
3 | 0 | #define MVM_P6INT_C_TYPE_INT -3 |
4 | 0 | #define MVM_P6INT_C_TYPE_LONG -4 |
5 | 0 | #define MVM_P6INT_C_TYPE_LONGLONG -5 |
6 | 0 | #define MVM_P6INT_C_TYPE_SIZE_T -6 |
7 | 0 | #define MVM_P6INT_C_TYPE_BOOL -7 |
8 | 0 | #define MVM_P6INT_C_TYPE_ATOMIC -8 |
9 | | |
10 | | /* Representation used by P6 native ints. */ |
11 | | struct MVMP6intBody { |
12 | | /* Integer storage slot. */ |
13 | | union { |
14 | | MVMint64 i64; |
15 | | MVMint32 i32; |
16 | | MVMint16 i16; |
17 | | MVMint8 i8; |
18 | | MVMuint64 u64; |
19 | | MVMuint32 u32; |
20 | | MVMuint16 u16; |
21 | | MVMuint8 u8; |
22 | | } value; |
23 | | }; |
24 | | struct MVMP6int { |
25 | | MVMObject common; |
26 | | MVMP6intBody body; |
27 | | }; |
28 | | |
29 | | /* The bit width requirement is shared for all instances of the same type. */ |
30 | | struct MVMP6intREPRData { |
31 | | MVMint16 bits; |
32 | | MVMint16 is_unsigned; |
33 | | MVMStorageSpec storage_spec; |
34 | | }; |
35 | | |
36 | | /* Function for REPR setup. */ |
37 | | const MVMREPROps * MVMP6int_initialize(MVMThreadContext *tc); |