diff -r 6cd87342c0b1 -r fc16fcee952c src/share/vm/memory/barrierSet.hpp --- a/src/share/vm/memory/barrierSet.hpp Mon Sep 26 13:04:07 2016 -0400 +++ b/src/share/vm/memory/barrierSet.hpp Mon Sep 26 13:56:18 2016 -0400 @@ -98,12 +98,12 @@ protected: virtual void write_ref_field_pre_work( oop* field, oop new_val) { #ifdef MIPS64 - OrderAccess::fence(); + if (Use3A2000) OrderAccess::fence(); #endif }; virtual void write_ref_field_pre_work(narrowOop* field, oop new_val) { #ifdef MIPS64 - OrderAccess::fence(); + if (Use3A2000) OrderAccess::fence(); #endif }; public: @@ -143,13 +143,13 @@ virtual void write_ref_array_pre(oop* dst, int length, bool dest_uninitialized = false) { #ifdef MIPS64 - OrderAccess::fence(); + if (Use3A2000) OrderAccess::fence(); #endif } virtual void write_ref_array_pre(narrowOop* dst, int length, bool dest_uninitialized = false) { #ifdef MIPS64 - OrderAccess::fence(); + if (Use3A2000) OrderAccess::fence(); #endif } // Below count is the # array elements being written, starting