Skip to content

Commit

Permalink
YJIT: Skip checking interrupt_mask (#6825)
Browse files Browse the repository at this point in the history
  • Loading branch information
k0kubun committed Nov 29, 2022
1 parent 67ae3e9 commit 3e4d1a1
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions yjit/src/codegen.rs
Expand Up @@ -642,12 +642,10 @@ fn gen_check_ints(asm: &mut Assembler, side_exit: CodePtr) {
// see RUBY_VM_CHECK_INTS(ec) macro
asm.comment("RUBY_VM_CHECK_INTS(ec)");

let not_mask = asm.not(Opnd::mem(32, EC, RUBY_OFFSET_EC_INTERRUPT_MASK));

asm.test(
Opnd::mem(32, EC, RUBY_OFFSET_EC_INTERRUPT_FLAG),
not_mask,
);
// Not checking interrupt_mask since it's zero outside finalize_deferred_heap_pages,
// signal_exec, or rb_postponed_job_flush.
let interrupt_flag = asm.load(Opnd::mem(32, EC, RUBY_OFFSET_EC_INTERRUPT_FLAG));
asm.test(interrupt_flag, interrupt_flag);

asm.jnz(Target::SideExitPtr(side_exit));
}
Expand Down

0 comments on commit 3e4d1a1

Please sign in to comment.