YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod (#7555)
This commit is contained in:
parent
7fc796f92a
commit
6ba07df490
Notes:
git
2023-03-17 20:17:20 +00:00
Merged-By: maximecb <maximecb@ruby-lang.org>
@ -2673,7 +2673,7 @@ fn gen_fixnum_cmp(
|
||||
let bool_opnd = cmov_op(asm, Qtrue.into(), Qfalse.into());
|
||||
|
||||
// Push the output on the stack
|
||||
let dst = ctx.stack_push(Type::Unknown);
|
||||
let dst = ctx.stack_push(Type::UnknownImm);
|
||||
asm.mov(dst, bool_opnd);
|
||||
|
||||
KeepCompiling
|
||||
@ -3297,7 +3297,8 @@ fn gen_opt_mod(
|
||||
let ret = asm.ccall(rb_fix_mod_fix as *const u8, vec![arg0, arg1]);
|
||||
|
||||
// Push the return value onto the stack
|
||||
let stack_ret = ctx.stack_push(Type::Unknown);
|
||||
// When the two arguments are fixnums, the modulo output is always a fixnum
|
||||
let stack_ret = ctx.stack_push(Type::Fixnum);
|
||||
asm.mov(stack_ret, ret);
|
||||
|
||||
KeepCompiling
|
||||
@ -5910,7 +5911,6 @@ fn gen_send_iseq(
|
||||
argc = lead_num;
|
||||
}
|
||||
|
||||
|
||||
if iseq_has_rest {
|
||||
|
||||
// We are going to allocate so setting pc and sp.
|
||||
|
Loading…
x
Reference in New Issue
Block a user