RFR(S)  : 8158646 : [jittester] generated tests may not compile by javac
vladimir.kozlov at oracle.com
Wed Jan 23 17:24:45 UTC 2019
On 1/22/19 6:26 PM, Igor Ignatyev wrote:
>> 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.
> 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
> - change default target testbase dir
> - 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
> - optimize getAllParents/getAllChildren to call getAllParents/getAllChildren only if a class hasn't been added yet
> 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
> -- Igor
More information about the hotspot-compiler-dev