After 6994093 running a testcase on SPARC that should throw a WrongMethodTypeException like:
$ gamma -Xint -XX:+UseSerialGC -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -cp classes:. Test
VM option '+UseSerialGC'
VM option '+UnlockExperimentalVMOptions'
VM option '+EnableInvokeDynamic'
# ERROR: Caught exception java.dyn.InvokeDynamicBootstrapError: call site initialization exception in Thread[Thread-0,5,main]
java.dyn.InvokeDynamicBootstrapError: call site initialization exception
at sun.dyn.CallSiteImpl.makeSite(CallSiteImpl.java:72)
at sun.dyn.MethodHandleNatives.makeDynamicCallSite(MethodHandleNatives.java:310)
at Test.runThread(Test.java:47)
at vm.mlvm.share.MultiThreadedTest$1.run(MultiThreadedTest.java:32)
at java.lang.Thread.run(Thread.java:729)
Caused by: java.dyn.WrongMethodTypeException: target(Test,java.lang.String,int)java.lang.Object should be of type (Test,java.lang.String,int)void
at java.dyn.CallSite.wrongTargetType(CallSite.java:273)
at java.dyn.CallSite.initializeFromJVM(CallSite.java:190)
at sun.dyn.CallSiteImpl.makeSite(CallSiteImpl.java:62)
... 4 more
results in:
$ gamma -Xint -XX:+UseSerialGC -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -cp classes:. Test
VM option '+UseSerialGC'
VM option '+UnlockExperimentalVMOptions'
VM option '+EnableInvokeDynamic'
=============== DEBUG MESSAGE: on return to interpreted call, restored SP is corrupted ================