Skip to content

Commit 6602a08

Browse files
authored
ZJIT: Move ccall comments near ccall instructions (ruby#13662)
Don't confuse them with other nearby instructions.
1 parent 1d94a9e commit 6602a08

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

zjit/src/codegen.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -388,12 +388,11 @@ fn gen_side_exit(jit: &mut JITState, asm: &mut Assembler, state: &FrameState) ->
388388

389389
/// Emit a special object lookup
390390
fn gen_putspecialobject(asm: &mut Assembler, value_type: SpecialObjectType) -> Opnd {
391-
asm_comment!(asm, "call rb_vm_get_special_object");
392-
393391
// Get the EP of the current CFP and load it into a register
394392
let ep_opnd = Opnd::mem(64, CFP, RUBY_OFFSET_CFP_EP);
395393
let ep_reg = asm.load(ep_opnd);
396394

395+
asm_comment!(asm, "call rb_vm_get_special_object");
397396
asm.ccall(
398397
rb_vm_get_special_object as *const u8,
399398
vec![ep_reg, Opnd::UImm(u64::from(value_type))],
@@ -666,11 +665,10 @@ fn gen_array_dup(
666665
val: lir::Opnd,
667666
state: &FrameState,
668667
) -> lir::Opnd {
669-
asm_comment!(asm, "call rb_ary_resurrect");
670-
671668
// Save PC
672669
gen_save_pc(asm, state);
673670

671+
asm_comment!(asm, "call rb_ary_resurrect");
674672
asm.ccall(
675673
rb_ary_resurrect as *const u8,
676674
vec![val],
@@ -684,13 +682,12 @@ fn gen_new_array(
684682
elements: &Vec<InsnId>,
685683
state: &FrameState,
686684
) -> lir::Opnd {
687-
asm_comment!(asm, "call rb_ary_new");
688-
689685
// Save PC
690686
gen_save_pc(asm, state);
691687

692688
let length: ::std::os::raw::c_long = elements.len().try_into().expect("Unable to fit length of elements into c_long");
693689

690+
asm_comment!(asm, "call rb_ary_new");
694691
let new_array = asm.ccall(
695692
rb_ary_new_capa as *const u8,
696693
vec![lir::Opnd::Imm(length)],
@@ -699,6 +696,7 @@ fn gen_new_array(
699696
for i in 0..elements.len() {
700697
let insn_id = elements.get(i as usize).expect("Element should exist at index");
701698
let val = jit.get_opnd(*insn_id).unwrap();
699+
asm_comment!(asm, "call rb_ary_push");
702700
asm.ccall(
703701
rb_ary_push as *const u8,
704702
vec![new_array, val]
@@ -716,11 +714,10 @@ fn gen_new_range(
716714
flag: RangeType,
717715
state: &FrameState,
718716
) -> lir::Opnd {
719-
asm_comment!(asm, "call rb_range_new");
720-
721717
// Save PC
722718
gen_save_pc(asm, state);
723719

720+
asm_comment!(asm, "call rb_range_new");
724721
// Call rb_range_new(low, high, flag)
725722
let new_range = asm.ccall(
726723
rb_range_new as *const u8,

0 commit comments

Comments
 (0)