# HG changeset patch # User adinn # Date 1520255935 0 # Node ID 6fa770f9f8ab296e1ce255ec17ccf6d4e1051886 # Parent a487515924b7b220bb1692fbaabf2e0ddb7a063a 8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails Summary: Fix breakage to AArch64 code generation caused by JDK-8181211 Reviewed-by: thartmann, roland, kvn, vlivanov, jrose diff -r a487515924b7 -r 6fa770f9f8ab src/hotspot/share/opto/library_call.cpp --- a/src/hotspot/share/opto/library_call.cpp Tue Feb 27 20:48:06 2018 +0000 +++ b/src/hotspot/share/opto/library_call.cpp Mon Mar 05 13:18:55 2018 +0000 @@ -2578,7 +2578,8 @@ // the one that guards them: pin the Load node LoadNode::ControlDependency dep = LoadNode::Pinned; Node* ctrl = control(); - if (adr_type->isa_instptr()) { + // non volatile loads may be able to float + if (!need_mem_bar && adr_type->isa_instptr()) { assert(adr_type->meet(TypePtr::NULL_PTR) != adr_type->remove_speculative(), "should be not null"); intptr_t offset = Type::OffsetBot; AddPNode::Ideal_base_and_offset(adr, &_gvn, offset);