summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zjit/src/backend/lir.rs4
-rw-r--r--zjit/src/codegen.rs4
2 files changed, 4 insertions, 4 deletions
diff --git a/zjit/src/backend/lir.rs b/zjit/src/backend/lir.rs
index 899a24c1b3..c890281496 100644
--- a/zjit/src/backend/lir.rs
+++ b/zjit/src/backend/lir.rs
@@ -117,7 +117,7 @@ impl Opnd
}
/// Constructor for constant pointer operand
- pub fn const_ptr(ptr: *const u8) -> Self {
+ pub fn const_ptr<T>(ptr: *const T) -> Self {
Opnd::UImm(ptr as u64)
}
@@ -1836,7 +1836,7 @@ impl Assembler
}
asm_comment!(self, "save cfp->pc");
- self.load_into(Opnd::Reg(Assembler::SCRATCH_REG), Opnd::const_ptr(pc as *const u8));
+ self.load_into(Opnd::Reg(Assembler::SCRATCH_REG), Opnd::const_ptr(pc));
self.store(Opnd::mem(64, CFP, RUBY_OFFSET_CFP_PC), Opnd::Reg(Assembler::SCRATCH_REG));
asm_comment!(self, "save cfp->sp");
diff --git a/zjit/src/codegen.rs b/zjit/src/codegen.rs
index 6a5b815d11..6398d3bce0 100644
--- a/zjit/src/codegen.rs
+++ b/zjit/src/codegen.rs
@@ -416,7 +416,7 @@ fn gen_get_constant_path(asm: &mut Assembler, ic: *const iseq_inline_constant_ca
// Save PC since the call can allocate an IC
gen_save_pc(asm, state);
- asm_ccall!(asm, rb_vm_opt_getconstant_path, EC, CFP, Opnd::const_ptr(ic as *const u8))
+ asm_ccall!(asm, rb_vm_opt_getconstant_path, EC, CFP, Opnd::const_ptr(ic))
}
fn gen_invokebuiltin(asm: &mut Assembler, state: &FrameState, bf: &rb_builtin_function, args: Vec<Opnd>) -> Option<lir::Opnd> {
@@ -988,7 +988,7 @@ fn gen_save_pc(asm: &mut Assembler, state: &FrameState) {
let next_pc: *const VALUE = unsafe { state.pc.offset(insn_len(opcode) as isize) };
asm_comment!(asm, "save PC to CFP");
- asm.mov(Opnd::mem(64, CFP, RUBY_OFFSET_CFP_PC), Opnd::const_ptr(next_pc as *const u8));
+ asm.mov(Opnd::mem(64, CFP, RUBY_OFFSET_CFP_PC), Opnd::const_ptr(next_pc));
}
/// Save the current SP on the CFP