< prev index next >

src/share/vm/opto/library_call.cpp

Print this page
rev 12619 : 8174164: SafePointNode::_replaced_nodes breaks with irreducible loops
Reviewed-by:
rev 12620 : 8174164: SafePointNode::_replaced_nodes breaks with irreducible loops
Reviewed-by:
rev 12697 : 8176506: C2: loop unswitching and unsafe accesses cause crash
Reviewed-by:
rev 12698 : 8176513: Poor code quality for ByteBuffers
Reviewed-by:
rev 12699 : 8176513: Poor code quality for ByteBuffers
Summary: relax conditions that causes MemBarCPUOrder membars to be added around unsafe accesses
Reviewed-by:

@@ -2373,11 +2373,11 @@
   // the alias analysis of the rest of the graph, either Compile::can_alias
   // or Compile::must_alias will throw a diagnostic assert.)
   bool need_mem_bar;
   switch (kind) {
       case Relaxed:
-          need_mem_bar = mismatched || can_access_non_heap;
+          need_mem_bar = mismatched & !adr_type->isa_aryptr();
           break;
       case Opaque:
           // Opaque uses CPUOrder membars for protection against code movement.
       case Acquire:
       case Release:
< prev index next >