RFR(XS): 8038048: assert(null_obj->escape_state() == PointsToNode::NoEscape, etc)

Igor Ignatyev igor.ignatyev at oracle.com
Wed Apr 16 20:00:45 UTC 2014


On 04/16/2014 11:11 PM, Vladimir Kozlov wrote:
> On 4/16/14 11:50 AM, Igor Ignatyev wrote:
>> Hi Richard,
>>
>> I've several comments about the test:
>> 1. could you please use 'com.oracle.java.testlibrary.Utils.getUnsafe()'
>> to get sun.misc.Unsafe instance?
>> // to use this, you have to add '@library /testlibrary'
>
> We can't run the test standalone for debugging if we do that. Please,
> advise how to do that if you know.
>
jtreg generates rerun and writes it into jtr-file, so you can run the 
test standalone after one run through jtreg:
$ jtreg -dir:/home/iignatye/ws/hs-comp/tip/test 
-jdk:/home/iignatye/jdk/iignatye-amd64/ 
compiler/EscapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java
...
$ cat 
./JTwork/compiler/EscapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.jtr
...
  ----------rerun:(19/1418)*----------
...
CLASSPATH=/home/iignatye/jdk-tools/jtreg-4.1b06/lib/javatest.jar:/home/iignatye/jdk-tools/jtreg-4.1b06/lib/jtreg.jar:/home/iignatye/test/jtreg/JTwork/classes/compiler/EscapeAnalysis:/home/iignatye/ws/hs-comp/tip/test/compiler/EscapeAnalysis:/home/iignatye/test/jtreg/JTwork/classes/testlibrary:/home/iignatye/jdk/iignatye-amd64/lib/tools.jar 
\\
     /home/iignatye/jdk/iignatye-amd64/bin/java \\
         -Dtest.vm.opts= \\
         -Dtest.jdk=/home/iignatye/jdk/iignatye-amd64 \\
...
         -XX:+DoEscapeAnalysis -XX:-TieredCompilation -Xbatch \\
         com.sun.javatest.regtest.MainWrapper 
/home/iignatye/test/jtreg/JTwork/classes/compiler/EscapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.jta
...

jtreg escapes '\', so you need to replace '\\' by '\'
$ 
CLASSPATH=/home/iignatye/jdk-tools/jtreg-4.1b06/lib/javatest.jar:/home/iignatye/jdk-tools/jtreg-4.1b06/lib/jtreg.jar:/home/iignatye/test/jtreg/JTwork/classes/compiler/EscapeAnalysis:/home/iignatye/ws/hs-comp/tip/test/compiler/EscapeAnalysis:/home/iignatye/test/jtreg/JTwork/classes/testlibrary:/home/iignatye/jdk/iignatye-amd64/lib/tools.jar 
     /home/iignatye/jdk/iignatye-amd64/bin/java         -Dtest.vm.opts= 
         -Dtest.jdk=/home/iignatye/jdk/iignatye-amd64 
-Dtest.timeout.factor=1.0 
-Dtest.src.path=/home/iignatye/ws/hs-comp/tip/test/compiler/EscapeAnalysis:/home/iignatye/ws/hs-comp/tip/test/testlibrary 
         -Dtest.compiler.opts= 
-Dcompile.jdk=/home/iignatye/jdk/iignatye-amd64 
-Dtest.classes=/home/iignatye/test/jtreg/JTwork/classes/compiler/EscapeAnalysis 
 
-Dtest.class.path=/home/iignatye/test/jtreg/JTwork/classes/compiler/EscapeAnalysis:/home/iignatye/test/jtreg/JTwork/classes/testlibrary 
         -Dtest.java.opts= 
-Dtest.src=/home/iignatye/ws/hs-comp/tip/test/compiler/EscapeAnalysis 
       -Dtest.tool.vm.opts=         -XX:+DoEscapeAnalysis 
-XX:-TieredCompilation -Xbatch 
com.sun.javatest.regtest.MainWrapper 
/home/iignatye/test/jtreg/JTwork/classes/compiler/EscapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.jta


>> 2. we don't use System.exit() in tests. You can simply remove try-catch
>> and adds 'throws Exception' to the 'main' method.
>
> I fixed this.
>
> Thanks,
> Vladimir
>
>>
>> Thanks
>> Igor
>>
>> On 04/16/2014 10:36 PM, Vladimir Kozlov wrote:
>>> Thank you very much, Richard
>>>
>>> Especially thanks for the test.
>>>
>>> I am just wondering how you found this? I still can't reproduce 8038048
>>>   (Coleen does). Did you just get the same failure as 8038048 in your
>>> testing?
>>>
>>> The fix looks correct. I missed this place and fields were not marked as
>>> escaped as result. But I need to look why null_obj was modified and
>>> cause the assert to fail.
>>>
>>> The test needs -XX:+IgnoreUnrecognizedVMOptions since EA is recognized
>>> only bu Server VM. I fix it myself, no problem.
>>>
>>> After testing and verifying that it fix our runThese problem I will push
>>> it.
>>>
>>> Regards,
>>> Vladimir
>>>
>>> On 4/16/14 2:13 AM, Richard Reingruber wrote:
>>>> Hi,
>>>>
>>>> could you please review the following webrev? It contains a
>>>> reproduction
>>>> test
>>>> case for bug 8038048 and a fix for the bug, which I would like to
>>>> contribute.
>>>>
>>>> Webrev: http://www.sapjvm.com/rr/webrevs/8038048/webrev.01/
>>>> Bug:    https://bugs.openjdk.java.net/browse/JDK-8038048
>>>>
>>>> The contribution needs to be sponsored as well.
>>>>
>>>> Thanks, Richard.
>>>>
>>>> _______________________________________________________________
>>>> Richard Reingruber | SAP JVM | Technology Development,  SAP AG
>>>>
>>>> Pflichtangaben/Mandatory Disclosure Statements:
>>>> http://www.sap.com/company/legal/impressum.epx
>>>>
>>>>


More information about the hotspot-compiler-dev mailing list