< prev index next >

src/hotspot/cpu/arm/macroAssembler_arm.cpp

Print this page

        

*** 1655,1666 **** #ifdef AARCH64 // Serializes memory. // tmp register is not used on AArch64, this parameter is provided solely for better compatibility with 32-bit ARM void MacroAssembler::membar(Membar_mask_bits order_constraint, Register tmp) { - if (!os::is_MP()) return; - // TODO-AARCH64 investigate dsb vs dmb effects if (order_constraint == StoreStore) { dmb(DMB_st); } else if ((order_constraint & ~(LoadLoad | LoadStore)) == 0) { dmb(DMB_ld); --- 1655,1664 ----
*** 1677,1687 **** // load_tgt is an ordered load target in a LoadStore case only, to create dependency between the load operation and conditional branch. Optional. void MacroAssembler::membar(Membar_mask_bits order_constraint, Register tmp, bool preserve_flags, Register load_tgt) { - if (!os::is_MP()) return; if (order_constraint == StoreStore) { dmb(DMB_st, tmp); } else if ((order_constraint & StoreLoad) || (order_constraint & LoadLoad) || --- 1675,1684 ----
< prev index next >