hg: hsx/hotspot-comp/hotspot: 7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops

vladimir.kozlov at oracle.com vladimir.kozlov at oracle.com
Mon Aug 20 12:52:38 PDT 2012


Changeset: 09aad8452938
Author:    kvn
Date:      2012-08-20 09:58 -0700
URL:       http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/09aad8452938

7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
Summary: In C2 add software membar after load from Reference.referent field to prevent commoning of loads across safepoint since GC can change its value. In C1 always generate Reference.get() intrinsic.
Reviewed-by: roland, twisti, dholmes, johnc

! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
! src/cpu/x86/vm/c1_CodeStubs_x86.cpp
! src/share/vm/c1/c1_CodeStubs.hpp
! src/share/vm/c1/c1_GraphBuilder.cpp
! src/share/vm/c1/c1_LIRGenerator.cpp
! src/share/vm/opto/idealKit.cpp
! src/share/vm/opto/library_call.cpp
+ test/compiler/7190310/Test7190310.java
+ test/compiler/7190310/Test7190310_unsafe.java



More information about the hotspot-compiler-dev mailing list