summaryrefslogtreecommitdiff
path: root/zjit/src/ir.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zjit/src/ir.rs')
-rw-r--r--zjit/src/ir.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/zjit/src/ir.rs b/zjit/src/ir.rs
index 278a1767b7..ea5647e8af 100644
--- a/zjit/src/ir.rs
+++ b/zjit/src/ir.rs
@@ -158,7 +158,7 @@ fn to_ssa(opcodes: &Vec<RubyOpcode>) -> Function {
result
}
-fn iseq_to_ssa(iseq: *const rb_iseq_t) -> Function {
+pub fn iseq_to_ssa(iseq: *const rb_iseq_t) {
let mut result = Function::new();
let mut state = FrameState::new();
let block = result.entry_block;
@@ -206,13 +206,14 @@ fn iseq_to_ssa(iseq: *const rb_iseq_t) -> Function {
YARVINSN_leave => {
result.push_insn(block, Insn::Return { val: state.pop() });
}
- _ => todo!(),
+ _ => eprintln!("zjit: unknown opcode {opcode}"),
}
// Move to the next instruction to compile
insn_idx += insn_len(opcode as usize);
}
- return result;
+ dbg!(result);
+ return;
fn get_arg(pc: *const VALUE, arg_idx: isize) -> VALUE {
unsafe { *(pc.offset(arg_idx + 1)) }