Yes, Chris, this is the same thing. I wasn't aware of it.

Peter

On 7/7/20 11:00 AM, Chris Hegarty wrote:
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