RFR(M) : Add CTW test for boot module
Igor Ignatyev
igor.ignatyev at oracle.com
Thu Apr 13 03:48:16 UTC 2017
this code is in CTW library hotspot/test/testlibrary/ctw, more precisely in sun.hotspot.tools.ctw.CompileTheWorld::createExecutor method. we stoped to use ClassLoader::compile_the_world and switched to java library shortly after 1st jigsaw integration, see JDK-8153675. Actually, I ain't sure if ClassLoader::compile_the_world still can be used, it has dependency on Xbootclasspath/p which was removed. I was planning to remove CompileTheWorld flag and all the related code from hotspot in JDK 9 TF, but didn't have time.
-- Igor
> On Apr 12, 2017, at 8:34 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
> On 4/12/17 8:15 PM, Igor Ignatyev wrote:
>> Vladimir,
>>
>> In current implementation, CTW is parallelized itself, we compile classes independently by CICompilerCount threads, so I don't think having N separate processes will give us any improvements here.
>
> Where is that code? Code in ClassLoader::compile_the_world_in() iterates methods only.
>
> I also don't see CompileTheWorld flag in new test files. Only CompileTheWorldStartAt.
>
> Vladimir
>
>>
>> -- Igor
>>
>>> On Apr 12, 2017, at 7:55 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>
>>> Igor,
>>>
>>> When we ran CTW in Nightly before we sliced rt.jar to few parts using CompileTheWorldStartAt/CompileTheWorldStopAt to get better parallelism.
>>> Can we do the same here? You already have mechanism to restart with N+1 after error.
>>> 2 hours for serial test execution is too long - would be nice to parallelize it.
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 4/12/17 7:23 PM, Igor Ignatyev wrote:
>>>> http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>>> 237 lines changed: 236 ins; 0 del; 1 mod;
>>>>
>>>> Hi all,
>>>>
>>>> could you please review the patch which adds a test which runs CTW for lib/modules?
>>>>
>>>> Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.
>>>>
>>>> currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.
>>>>
>>>> webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>> jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
>>>> testing: test/applications/ctw/Modules.java
>>>>
>>>> Thanks,
>>>> -- Igor
>>>>
>>
More information about the hotspot-compiler-dev
mailing list