YJIT: Float arithmetics are actually leaf

with these guards in YJIT.

The previous commit was to fix "conflict" between two PRs, but I
actually wanted to use it here, which is why I filed the other one.
This commit is contained in:
Takashi Kokubun 2024-01-31 10:13:25 -08:00
Родитель 2220c4cf42
Коммит 21031f0a84
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -5022,7 +5022,7 @@ fn jit_rb_float_plus(
}
// Save the PC and SP because the callee may allocate Float on heap
jit_prepare_non_leaf_call(jit, asm);
jit_prepare_call_with_gc(jit, asm);
asm_comment!(asm, "Float#+");
let obj = asm.stack_opnd(0);
@ -5066,7 +5066,7 @@ fn jit_rb_float_minus(
}
// Save the PC and SP because the callee may allocate Float on heap
jit_prepare_non_leaf_call(jit, asm);
jit_prepare_call_with_gc(jit, asm);
asm_comment!(asm, "Float#-");
let obj = asm.stack_opnd(0);
@ -5110,7 +5110,7 @@ fn jit_rb_float_mul(
}
// Save the PC and SP because the callee may allocate Float on heap
jit_prepare_non_leaf_call(jit, asm);
jit_prepare_call_with_gc(jit, asm);
asm_comment!(asm, "Float#*");
let obj = asm.stack_opnd(0);
@ -5154,7 +5154,7 @@ fn jit_rb_float_div(
}
// Save the PC and SP because the callee may allocate Float on heap
jit_prepare_non_leaf_call(jit, asm);
jit_prepare_call_with_gc(jit, asm);
asm_comment!(asm, "Float#/");
let obj = asm.stack_opnd(0);