Request for reviews (S): 7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops

Christian Thalinger christian.thalinger at oracle.com
Fri Aug 10 09:01:49 PDT 2012


On Aug 9, 2012, at 7:15 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:

> Thanks, David
> 
> pre_barrier() methods don't generate code for other GCs. But I forgot to put UseG1GC guard around "new G1UnsafeGetObjSATBBarrierStub" in c1_LIRGenerator.cpp.

Did you update the webrev?  -- Chris

> 
> Thanks,
> Vladimir
> 
> On 8/9/12 6:52 PM, David Holmes wrote:
>> On 10/08/2012 11:34 AM, Vladimir Kozlov wrote:
>>> http://cr.openjdk.java.net/~kvn/7190310/webrev
>>> 
>>> 7190310: Inlining WeakReference.get(), and hoisting $referent may lead
>>> to non-terminating loops
>>> 
>>> Add acquire membar after load from Reference.referent field to prevent
>>> commoning of loads across safepoint since GC can change its value.
>> 
>> Wow that was quick! :)
>> 
>> My only comment (not being a compiler expert) is that it would appear that we are now inserting read barriers with all
>> GC's not just G1. What kind of impact will that have on performance under the other GC's?
>> 
>> Thanks,
>> David
>> 
>>> Thanks,
>>> Vladimir


More information about the hotspot-compiler-dev mailing list