1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-22 12:30:32 +02:00

Revert "Fix atomics usage in handle-interrupts JIT."

This reverts commit e8d34258be.
This commit is contained in:
Andy Wingo 2019-05-27 18:40:41 +02:00
parent 49fa49c42d
commit d0a95bfbe8

View file

@ -3010,8 +3010,16 @@ compile_handle_interrupts (scm_jit_state *j)
void *again = jit_address (j->jit);
jit_addi (j->jit, T0, THREAD, thread_offset_pending_asyncs);
jit_ldr_atomic (j->jit, T0, T0);
#if defined(__i386__) || defined(__x86_64__)
/* Disassembly of atomic_ref_scm is just a mov. */
jit_ldxi (j->jit, T0, THREAD, thread_offset_pending_asyncs);
#else
emit_call_1 (j, scm_vm_intrinsics.atomic_ref_scm,
jit_operand_addi (thread_operand (),
thread_offset_pending_asyncs));
emit_retval (j, T0);
restore_reloadable_register_state (j, saved_state);
#endif
jit_reloc_t none_pending = jit_beqi (j->jit, T0, SCM_UNPACK (SCM_EOL));
jit_ldxi_i (j->jit, T0, THREAD, thread_offset_block_asyncs);
jit_reloc_t blocked = jit_bnei (j->jit, T0, 0);