Ugh. Replacing the fancy templates with hand coded sequences for now.

This commit is contained in:
Ben Vanik
2014-01-02 00:00:14 -08:00
parent 3e4f93a6a9
commit 125e7278c6
22 changed files with 784 additions and 771 deletions

View File

@@ -65,6 +65,19 @@ enum LIRRegister {
XMM15,
};
typedef union {
runtime::FunctionInfo* symbol_info;
LIRLabel* label;
LIRRegister reg;
int8_t i8;
int16_t i16;
int32_t i32;
int64_t i64;
float f32;
double f64;
uint64_t offset;
} LIROperand;
class LIRInstr {
public:
@@ -75,21 +88,8 @@ public:
const LIROpcodeInfo* opcode;
uint16_t flags;
typedef union {
runtime::FunctionInfo* symbol_info;
LIRLabel* label;
LIRRegister reg;
int8_t i8;
int16_t i16;
int32_t i32;
int64_t i64;
float f32;
double f64;
uint64_t offset;
} Op;
// TODO(benvanik): make this variable width?
Op arg[4];
LIROperand arg[4];
};