Peter,

8248429 [1] tracks this issue, right?

There was a recent thread on build-dev relating to this, in the form of an RFR 
from Jorn :
  https://mail.openjdk.java.net/pipermail/build-dev/2020-June/thread.html#27804

Some great discussion was had, but I’m not sure that a conclusion was reached 
yet.

8248429 is the same issue, right?

-Chris.

[1] https://bugs.openjdk.java.net/browse/JDK-8248429

> On 7 Jul 2020, at 09:41, Peter Levart <peter.lev...@gmail.com> wrote:
> 
> A quick work-around for anyone wanting to run the microbenchmarks is to pass 
> --enable-preview explicitly. For example:
> 
> 
> make test TEST="micro:java.util.stream.ops" 
> MICRO="JAVA_OPTIONS=--enable-preview"
> 
> 
> Regards, Peter
> 
> 
> On 7/7/20 10:23 AM, Peter Levart wrote:
>> 
>> On 7/7/20 10:13 AM, David Holmes wrote:
>>> Hi Peter,
>>> 
>>> cc Claes
>>> 
>>> On 7/07/2020 5:59 pm, Peter Levart wrote:
>>>> Hi,
>>>> 
>>>> 
>>>> Recently I proposed and pushed a change for [1] which adds 
>>>> --enable-preview option to javac compilation of JMH microbenchmarks in 
>>>> general to enable running a benchmark that uses preview feature (Records). 
>>>> This makes the class files produced marked with version 60.65535. The 
>>>> benchmark that uses preview feature executes without problems because it 
>>>> explicitly specifies the following in its code:
>>>> 
>>>> 
>>>> @Fork(value = 1, warmups = 0, jvmArgsAppend = "--enable-preview")
>>>> 
>>>> 
>>>> Recently I wanted to run JMH benchmarks for Stream ops with:
>>>> 
>>>> 
>>>> make test TEST="micro:java.util.stream.ops"
>>>> 
>>>> 
>>>> ...but all of them fail to run with the following exception:
>>>> 
>>>> 
>>>> java.lang.UnsupportedClassVersionError: Preview features are not enabled 
>>>> for 
>>>> org/openjdk/bench/java/util/stream/ops/value/generated/NoneMatchShort_seq_start_jmhTest
>>>>  (class file version 60.65535). Try running with '--enable-preview'
>>>> 
>>>> 
>>>> What shall we do? Add similar annotation to all of them? Is there a way to 
>>>> specify that all micro benchmarks should be run with --enable-preview 
>>>> option passed to java?
>>> 
>>> So this breaks running all non-preview using benchmarks? If so I say we 
>>> need to backout the change for 8248135 while a proper solution is found.
>> 
>> 
>> I guess it does break (at least the way I tried to run them). The problem is 
>> that this little change:
>> 
>> 
>> --- a/make/test/BuildMicrobenchmark.gmk    Wed Jun 24 01:02:19 2020 +0200
>> +++ b/make/test/BuildMicrobenchmark.gmk    Wed Jun 24 11:05:09 2020 +0200
>> @@ -90,10 +90,11 @@
>>      TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
>>      SMALL_JAVA := false, \
>>      CLASSPATH := $(MICROBENCHMARK_CLASSPATH), \
>> -    DISABLED_WARNINGS := processing rawtypes cast serial, \
>> +    DISABLED_WARNINGS := processing rawtypes cast serial preview, \
>>      SRC := $(MICROBENCHMARK_SRC), \
>>      BIN := $(MICROBENCHMARK_CLASSES), \
>>      JAVA_FLAGS := --add-modules jdk.unsupported --limit-modules 
>> java.management, \
>> +    JAVAC_FLAGS := --enable-preview, \
>>  ))
>> 
>> 
>> ...was pushed as part of larger fix for 8247532 which has already been 
>> forward and backported. So I think backing out the whole patch (which is 
>> perfectly OK by itself) would cause more problems then fixing this 
>> particular problem in a followup, given that we can find a fix quickly. Its 
>> has been 14 days since the above was pushed and nobody noticed until now, so 
>> I guess this is not a big problem?
>> 
>> 
>> Regards, Peter
>> 
>> 
>> 
>>> 
>>> David
>>> -----
>>> 
>>>> 
>>>> [1] https://bugs.openjdk.java.net/browse/JDK-8248135
>>>> 
>>>> 
>>>> Regards, Peter
>>>> 
>>>> 

Reply via email to