RFR: 8225648:[TESTBUG] java/lang/annotation/loaderLeak/Main.java fails with -Xcomp

Jie Fu fujie at loongson.cn
Thu Jun 13 08:33:03 UTC 2019


Hi Ioi,

Thank you for your review.
You've taught me another way to fix this issue.

Reference.reachabilityFence seems to be widely used to handle this 
situation.
For example, you can just grep it in the test dir like this:
----------------------------------------------------
~/jdk-dev/test$ grep reachabilityFence . -r | wc -l
62
----------------------------------------------------

I think both approaches can solve this problem.
However, reachabilityFence seems more readable than a static field.

Thanks a lot.
Best regards,
Jie

On 2019/6/13 下午3:48, Ioi Lam wrote:
> Hi Jie,
>
> Instead of using an obscure call Reference.reachabilityFence(loader), 
> how about just making "loader" a static field in the test class, so it 
> will be kept alive until it's explicitly set to null?
>
> Thanks
> - Ioi
>
> On 6/12/19 1:37 AM, Jie Fu wrote:
>> Hi all,
>>
>> JBS:    https://bugs.openjdk.java.net/browse/JDK-8225648
>> Webrev: http://cr.openjdk.java.net/~jiefu/8225648/webrev.00/
>>
>> The failure was caused by the lost of an OopMap item for the object 
>> "loader"[1] which was optimized out by JIT with liveness analysis 
>> optimization.
>> It seems that this case is only suitable for testing interpreters 
>> which is not friendly to optimized JITs at all.
>>
>> Although not every test would work with Xcomp (for various reasons), 
>> it's beneficial to make more tests suitable for JIT testing.
>> I just hope tests in tier1 would pass with Xcomp.
>> The goal seems to be reached if this bug and JDK-8225644[2] could be 
>> fixed.
>>
>> Could you please review it?
>>
>> Thanks a lot.
>> Best regards,
>> Jie
>>
>> [1] 
>> http://hg.openjdk.java.net/jdk/jdk/file/ae3dbc712839/test/jdk/java/lang/annotation/loaderLeak/Main.java#l48
>> [2] https://bugs.openjdk.java.net/browse/JDK-8225644
>>
>>
>



More information about the core-libs-dev mailing list