зеркало из https://github.com/github/ruby.git
YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod (#7555)
This commit is contained in:
Родитель
7fc796f92a
Коммит
6ba07df490
|
@ -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.
|
||||
|
|
Загрузка…
Ссылка в новой задаче