< prev index next >

src/hotspot/share/opto/library_call.cpp

Print this page
rev 49175 : 8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails
Summary: Fix breakage to AArch64 code generation caused by JDK-8181211
Reviewed-by: duke

*** 2576,2586 **** if (p == NULL) { // To be valid, unsafe loads may depend on other conditions than // the one that guards them: pin the Load node LoadNode::ControlDependency dep = LoadNode::Pinned; Node* ctrl = control(); ! if (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); if (offset >= 0) { int s = Klass::layout_helper_size_in_bytes(adr_type->isa_instptr()->klass()->layout_helper()); --- 2576,2587 ---- if (p == NULL) { // To be valid, unsafe loads may depend on other conditions than // the one that guards them: pin the Load node LoadNode::ControlDependency dep = LoadNode::Pinned; Node* ctrl = control(); ! // 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); if (offset >= 0) { int s = Klass::layout_helper_size_in_bytes(adr_type->isa_instptr()->klass()->layout_helper());
< prev index next >