diff options
Diffstat (limited to 'patio-to-cranelift/src/patio/instructions.rs')
| -rw-r--r-- | patio-to-cranelift/src/patio/instructions.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/patio-to-cranelift/src/patio/instructions.rs b/patio-to-cranelift/src/patio/instructions.rs index 39c39964..1cba2953 100644 --- a/patio-to-cranelift/src/patio/instructions.rs +++ b/patio-to-cranelift/src/patio/instructions.rs @@ -7,6 +7,7 @@ pub(crate) enum PatioInstruction { Block(PatioBlock), BoolToInt(PatioBoolToInt), Call(PatioCall), + CallPointer(PatioCallPointer), If(PatioIf), IntAdd(PatioIntAdd), IntEquals(PatioIntEquals), @@ -39,6 +40,12 @@ pub(crate) struct PatioCall { pub(crate) args: Vec<PatioOperand>, } +pub(crate) struct PatioCallPointer { + pub(crate) destination: PatioLocalRef, + pub(crate) function_pointer: PatioOperand, + pub(crate) args: Vec<PatioOperand>, +} + pub(crate) struct PatioIf { pub(crate) destinations: Vec<PatioLocalRef>, pub(crate) condition: PatioOperand, |
