RFR(s): 8151283: Implement setting jtreg @requires property vm.isG1Supported.

Igor Ignatyev igor.ignatyev at oracle.com
Tue Jun 21 09:26:38 UTC 2016


Dima,

thank you for explanation. is ‘bootClasses’ documented somewhere? if no, could you please write a comment in TEST.ROOT?

Thanks,
— Igor
> On Jun 21, 2016, at 12:29 AM, Dmitry Fazunenko <dmitry.fazunenko at oracle.com> wrote:
> 
> Igor,
> 
> Thanks a lot for the review!
> 
> On 20.06.2016 23:35, Igor Ignatyev wrote:
>> Dima,
>> 
>> the fix looks good to me, thanks for implementing that. I have a question about -Xbootclasspath/a:bootClasses, is it required? I thought classes from requires.extraPropDefns.bootlibs will be added to BCP by jtreg.
>> 
> 
> Yes, it's required. We might decided for example to use -Xbootclasspath/p:  instead.
> bootClasses - is the name of the local folder (under scratch dir) where 
> classes from the 
> 'requires.extraPropDefns.bootlibs' will be compiled to.
> 
> And I haven't mentioned, that I introduced a field, which is currently unused:
> 
>       private static final WhiteBox WB = WhiteBox.getWhiteBox();
> 
> This is for the simplification of use in the future.
> 
> Thanks,
> Dima
> 
> 
>> 
>> Thanks,
>> — Igor
>> 
>>> On Jun 20, 2016, at 6:12 PM, Dmitry Fazunenko <dmitry.fazunenko at oracle.com>
>>>  wrote:
>>> 
>>> Hello,
>>> 
>>> During the review period of this CR a couple of changes adding new requires properties were integrated:
>>>  8157831: vm.simpleArch 
>>>  8158412: vm.flightRecorder
>>> 
>>> Merged variant:
>>> 
>>> http://cr.openjdk.java.net/~dfazunen/8151283/webrev.02/
>>> 
>>> 
>>> Thanks,
>>> Dima
>>> 
>>> 
>>> On 16.06.2016 16:34, Dmitry Fazunenko wrote:
>>> 
>>>> Hi Michail,
>>>> 
>>>> This is TEST.ROOT file, which defines itself what is the root for libraries:
>>>>   48 # Path to libraries in the topmost test directory. This is needed so @library
>>>>   49 # does not need ../../ notation to reach them
>>>>   50 external.lib.roots = ../../
>>>> 
>>>> So, for the stuff like VMProps we need to use "../.." in paths
>>>> 
>>>> Thanks,
>>>> Dima
>>>> 
>>>> On 16.06.2016 16:20, Michail Chernov wrote:
>>>> 
>>>>> Hi Dima,
>>>>> 
>>>>> I have a question about paths:
>>>>> 
>>>>>  requires.extraPropDefns = ../../test/jtreg-ext/requires/VMProps.java
>>>>> -requires.properties=sun.arch.data.model
>>>>> +requires.extraPropDefns.bootlibs = ../../test/lib/sun
>>>>> 
>>>>> 
>>>>> Do we need to use relative paths instead of full? We use full path in tests:
>>>>> 
>>>>> TestSmallHeap.java: * @library /testlibrary /test/lib /test/lib/share/classes
>>>>> 
>>>>> Thanks,
>>>>> Michail
>>>>> 
>>>>> On 06/14/2016 07:14 PM, Dmitry Fazunenko wrote:
>>>>> 
>>>>>> Hi Stefan, 
>>>>>> 
>>>>>> The idea of 'vm.gc.X.acceptable' was an ability to introduce other GC related properties like 'supported', 'default', 'setByErgonomics', 'deprecated', etc. 
>>>>>> But setting 'vm.gc.X' won't prevent us from adding  'vm.gc.X.Y' later when needed. 
>>>>>> 
>>>>>> I fully agree:   @requires vm.gc.G1 looks much nicer and causes less questions. 
>>>>>> 
>>>>>> New edition: 
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~dfazunen/8151283/webrev.01/
>>>>>>  
>>>>>> 
>>>>>> Thanks for suggestion that, 
>>>>>> Dima 
>>>>>> 
>>>>>> 
>>>>>> On 13.06.2016 10:46, Stefan Johansson wrote: 
>>>>>> 
>>>>>>> Hi Dima, 
>>>>>>> 
>>>>>>> I don't know the code and the way this is invoked good enough to do a proper review, but I have a style comment. Wouldn't it be nice to only call the value "vm.gc.G1", and have: 
>>>>>>> @requires vm.gc.G1 
>>>>>>> 
>>>>>>> I feel that "acceptable" provide very little information and what we want to @require is that the test is only run with G1 (when supported) and I think that is clear from such syntax. Comments? 
>>>>>>> 
>>>>>>> Thanks, 
>>>>>>> Stefan 
>>>>>>> 
>>>>>>> On 2016-06-10 18:04, Dmitry Fazunenko wrote: 
>>>>>>> 
>>>>>>>> Hello, 
>>>>>>>> 
>>>>>>>> I'm looking for a couple of Reviewers for a simple change, which allows to skip tests depending on non supported garbage collectors. 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> http://cr.openjdk.java.net/~dfazunen/8151283/webrev.00/
>>>>>>>>  
>>>>>>>> 
>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8151283
>>>>>>>>  
>>>>>>>> 
>>>>>>>> The fix introduces four new requires boolean properties: 
>>>>>>>>      vm.gc.G1.acceptable 
>>>>>>>>      vm.gc.Serial.acceptable 
>>>>>>>>      vm.gc.Parallel.acceptable 
>>>>>>>>      vm.gc.ConcMarkSweep.acceptable 
>>>>>>>> Which are set by the jtreg plugin prior the test execution starts. 
>>>>>>>> After that fix we will be able to replace in tests: 
>>>>>>>>    @requires vm.gc == null | vm.gc == "G1" 
>>>>>>>> with 
>>>>>>>>    @requires vm.gc.G1.acceptable 
>>>>>>>> 
>>>>>>>> 'vm.gc.G1.acceptable' will be evaluated to 'false' not only if other GC is set externally, but also if G1 is not supported. 
>>>>>>>> In other words the fix allows not to run GC specific tests in not applicable configurations. 
>>>>>>>> 
>>>>>>>> Thanks, 
>>>>>>>> Dima 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>> 
> 




More information about the hotspot-gc-dev mailing list