RFR(T) : 8239500 : jittester shouldn't use System::nanoTime and currentTimeMills in generated code

Tobias Hartmann tobias.hartmann at oracle.com
Wed Feb 26 08:03:13 UTC 2020


Looks good to me too.

Best regards,
Tobias

On 25.02.20 21:16, Leonid Mesnik wrote:
> Thanks, looks good. You still need review from Reviewer.
> 
> Leonid
> 
>> On Feb 25, 2020, at 11:52 AM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
>>
>> right... I went thru the list of all method of System and identified the following as non-deterministic 
>> +java/lang/System::currentTimeMillis()
>> +java/lang/System::getProperties()
>> +java/lang/System::getProperty(Ljava/lang/String;)
>> +java/lang/System::getProperty(Ljava/lang/String;Ljava/lang/String;)
>> +java/lang/System::getenv()
>> +java/lang/System::getenv(Ljava/lang/String;)
>> +java/lang/System::lineSeparator()
>> +java/lang/System::load(Ljava/lang/String;)
>> +java/lang/System::loadLibrary(Ljava/lang/String;)
>> +java/lang/System::mapLibraryName(Ljava/lang/String;)
>> +java/lang/System::nanoTime()
>>
>> http://cr.openjdk.java.net/~iignatyev//8239500/webrev.01 <http://cr.openjdk.java.net/~iignatyev//8239500/webrev.01> excludes them all, and also sorts exclude.methods.lst so it's (somewhat) easier to see which methods are (not) excluded. I've also modified the commit message and bug summary to be more generic.
>>   
>> Thanks,
>> -- Igor
>>
>>> On Feb 25, 2020, at 11:10 AM, Leonid Mesnik <leonid.mesnik at oracle.com <mailto:leonid.mesnik at oracle.com>> wrote:
>>>
>>> The fix looks good.
>>>
>>> I think that we also need to exclude getenv*  and getProperties(y) methods. Their results depend on host. So generated code like  System.getenv().size() is not determined.
>>>
>>>
>>> Leonid
>>>
>>> On 2/25/20 10:29 AM, Igor Ignatyev wrote:
>>>> http://cr.openjdk.java.net/~iignatyev//8239500/webrev.00 <http://cr.openjdk.java.net/~iignatyev//8239500/webrev.00>
>>>>> 2 lines changed: 2 ins; 0 del; 0 mod;
>>>> Hi all,
>>>>
>>>> could you please review this small and trivial patch which prohibits usage of System::nanoTime and currentTimeMills methods by jit-tester due to their indeterminism?
>>>>
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8239500
>>>> webrev: http://cr.openjdk.java.net/~iignatyev//8239500/webrev.00
>>>>
>>>> Thanks,
>>>> -- Igor
>>>>
>>
> 


More information about the hotspot-compiler-dev mailing list