RFR(S) [12] : 8158646 : [jittester] generated tests may not compile by javac

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Jan 23 22:32:52 UTC 2019


On 1/23/19 2:12 PM, Igor Ignatyev wrote:
> Vladimir,
> 
> we can always specify '-ea -esa' in our task definitions if we want, but baking them into generated tests will affect all executions of these tests, and seems to be inadequate. as testing jaotc tool isn't the goal of these tests, I'd prefer not to add more jaotc-specific than necessary. what do you think?

I only suggested to add these flags to command line in AotTestGeneratorsFactory.java where jaotc is used.
It may help debug intermittent failures if there are issues with AOTed code.

But I am fine if these tests run in Mach5 with these flags set in task definition when jaotc is used.

Vladimir

> 
> -- Igor
> 
>> On Jan 23, 2019, at 10:36 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>
>> On 1/23/19 9:46 AM, Igor Ignatyev wrote:
>>> Hi Vladimir,
>>> thanks for your review!
>>>>>   - make sure jaotc is always run w/ X-mixed regardless of "external" vm flags
>>>> Also would be nice to add -ea -esa too if they are not used yet.
>>> -Xmixed was added to "speed-up" compilation in case external flags has Xcomp. from my point of view, it's better if '-ea -esa' are provided during test runs, as in some cases you might want to run jaotc w/o them.
>>
>> I got it about -Xmixed. I put aot tests to noxcomp group for our CI testing.
>>
>> To always use '-ea -esa' with jaotc during testing is good I think. We have them by default in our hs-comp testing tasks definitions. I thought to have them here is also good if this testing does not use flags from task definitions.
>>>>>   - add -Xcomp to all the generator tests
>>>> why you need -Xcomp?
>>> b/c jit-tester is supposed to compare results of interpreted execution (saved in .gold.* files) w/ the result from compilers, so generated tests must be run w/ Xcomp, otherwise we will comparing one results from interpreter w/ the results from interpreter.
>>
>> Got it.
>>
>>>>>   - use tmp directory for class files
>>>> Will it work on Windows which has issues with tmp dir? There was discussion about it recently.
>>> we use tmp dir only in the test generator which can be run on any platform, it doesn't have to be run on the same host/platform as actual test execution. in fact the preferred usage model of jit-tester is to pre-generate test corpus and reuse it.
>>
>> Okay.
>>
>> thanks,
>> Vladimir
>>
>>> Thanks,
>>> -- Igor
>>>> On Jan 23, 2019, at 9:24 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>>
>>>> On 1/22/19 6:26 PM, Igor Ignatyev wrote:
>>>>> http://cr.openjdk.java.net/~iignatyev//8158646/webrev.00/index.html
>>>>>> 64 lines changed: 23 ins; 6 del; 35 mod;
>>>>> Hi all,
>>>>> could you please review this small fix for jit-tester?
>>>>> the bug was caused by TypeList not being fully cleared b/w generation. we only remove classes which starts w/ "Test_", so we don't remove "basic" classes, e.g. Runnable, and don't clean their 'children'. in most cases, this is fine, as each generation will use only its own Test_N_* classes so having Test_M_* (M != N) classes as Runnable's children has no impact besides garbage in memory, however, if we get an error during Test_N generation we will redo generation for the same N, and in such cases, previous children of "basic" classes (read Runnable) cause incompatible types. the fix is to remove "Test_" classes from the children.
>>>>
>>>> ok
>>>>
>>>>> besides the fix for the bug, the patch also include the following small clean ups:
>>>>>   - use DIST_JAR var value instead of 'JAR' string constant in makefile
>>>>
>>>> ok
>>>>
>>>>>   - change default target testbase dir
>>>>
>>>> ok
>>>>
>>>>>   - make sure jaotc is always run w/ X-mixed regardless of "external" vm flags
>>>>
>>>> Also would be nice to add -ea -esa too if they are not used yet.
>>>>
>>>>>   - add -Xcomp to all the generator tests
>>>>
>>>> why you need -Xcomp?
>>>>
>>>>>   - use tmp directory for class files
>>>>
>>>> Will it work on Windows which has issues with tmp dir? There was discussion about it recently.
>>>>
>>>>>   - check javac error code
>>>>
>>>> ok
>>>>
>>>>>   - optimize getAllParents/getAllChildren to call getAllParents/getAllChildren only if a class hasn't been added yet
>>>>
>>>> ok
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>>> webrev: http://cr.openjdk.java.net/~iignatyev//8158646/webrev.00/index.html
>>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8158646
>>>>> testing: generated 1000 tests, all can be compiled and work fine
>>>>> Thanks,
>>>>> -- Igor
> 


More information about the hotspot-compiler-dev mailing list