some of the jdk/test/java/lang/invoke tests still use -XX:+EnableInvokeDynamic

John Rose john.r.rose at oracle.com
Fri Apr 15 08:52:33 PDT 2011


On Apr 15, 2011, at 6:42 AM, Christian Thalinger wrote:

> On Apr 15, 2011, at 3:12 PM, Stephen Bannasch wrote:
>> After I successfully bsd-port build (and after I see if java can start and display it's version number) I first run the 
>> jdk/test/java/lang/String tests with jtreg as a second-level smoketest:
>> 
>>  $ jtreg -jdk:build/bsd-amd64/j2sdk-image  -v:summary jdk/test/java/lang/String
>> 
>> These all pass.
>> 
>> But there appear to be errors running the jdk/test/java/lang/invoke/ tests.
>> 
>> Some of them add -XX:+EnableInvokeDynamic when run but this is no longer a valid option.
>> 
>> 
>> $ jtreg -XX:+UnlockExperimentalVMOptions -jdk:build/bsd-amd64/j2sdk-image  -v:summary jdk/test/java/lang/invoke/
>> Directory "JTwork" not found: creating
>> Directory "JTwork/scratch" not found: creating
>> FAILED: java/lang/invoke/6987555/Test6987555.java
>> FAILED: java/lang/invoke/6991596/Test6991596.java
>> Passed: java/lang/invoke/ClassValueTest.java
>> FAILED: java/lang/invoke/InvokeDynamicPrintArgs.java
>> Passed: java/lang/invoke/InvokeGenericTest.java
>> Passed: java/lang/invoke/JavaDocExamplesTest.java
>> Passed: java/lang/invoke/MethodHandlesTest.java
>> Passed: java/lang/invoke/MethodTypeTest.java
>> Test results: passed: 5; failed: 3
>> Report written to JTreport/html/report.html
>> Results written to /Users/stephen/dev/java/src/bsd/JTwork
>> 
>> Here's a bit of the detail for: InvokeDynamicPrintArgs.java
>> 
>> command: main -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic indify.Indify --verify-specifier-count=3 
>> --transitionalJSR292=false --expand-properties --classpath ${test.classes} --java test.java.lang.invoke.InvokeDynamicPrintArgs 
>> --check-output
>> reason: User specified action: run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic indify.Indify 
>> --verify-specifier-count=3 --transitionalJSR292=false --expand-properties --classpath ${test.classes} --java 
>> test.java.lang.invoke.InvokeDynamicPrintArgs --check-output
>> elapsed time (seconds): 0.01
>> ----------System.out:(0/0)----------
>> ----------System.err:(3/154)----------
>> Unrecognized VM option '+EnableInvokeDynamic'
>> Error: Could not create the Java Virtual Machine.
>> Error: A fatal exception has occurred. Program will exit.
> 
> 
> EnableInvokeDynamic has become a diagnostic switch, that's why it's not recognized.

Stephen, you could add "-XX:+UnlockDiagnosticVMOptions" to "jtreg -XX:+UnlockExperimentalVMOptions".  But neither of those extra options should be needed at this point.  Also, in JDK 7, EnableInvokeDynamic should be on by default.

> It seems we haven't updated the tests yet.

At least some of the tests (I hope all of them) are updated in meth-enable-6817525.patch.

Stephen, I'm puzzled that InvokeDynamicPrintArgs would fail with that message, since the EnableInvokeDynamic option has been  deleted.  See lines 36-40 of this file:
  http://hg.openjdk.java.net/mlvm/mlvm/jdk/file/tip/meth-enable-6817525.patch

The transcript quoted above suggests that this patch has not been applied.

Thanks!
-- John


More information about the bsd-port-dev mailing list