< 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,2383 **** // 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; break; case Opaque: // Opaque uses CPUOrder membars for protection against code movement. case Acquire: case Release: --- 2373,2383 ---- // 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 & !adr_type->isa_aryptr(); break; case Opaque: // Opaque uses CPUOrder membars for protection against code movement. case Acquire: case Release:
< prev index next >