Hi, I am seeing a change in behavior which I think might be a regression from build 17.0-b10 to build 18.0-b04-fastdebug. I am using Stephen Bannasch builds on Mac OS 10.6. The working version of my code with 17.0-b10 to build gives:
wizziewol-ln:Invoke Dynamic Multiple Dispatch lov080$ $a/java -ea -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic -cp dist/Invoke\ Dynamic\ Multiple\ Dispatch.jar invokedynamicmultipledispatch.Cost type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double nearest = cost, type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double target = cost, type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double nearest = cost, type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double target = cost, type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double cost = 0.0 Which is as expected for the test code I am running. With the newer 18.0-b04-fastdebug build I get: wizziewol-ln:Invoke Dynamic Multiple Dispatch lov080$ $b/java -ea -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic -cp dist/Invoke\ Dynamic\ Multiple\ Dispatch.jar invokedynamicmultipledispatch.Cost VM option '+UnlockExperimentalVMOptions' VM option '+EnableMethodHandles' VM option '+EnableInvokeDynamic' type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double nearest = cost, type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double target = cost, type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/cpCacheOop.hpp:133 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/Users/stephen/dev/java/src/bsd-port/hotspot/src/share/vm/oops/cpCacheOop.hpp:133), pid=57368, tid=2953121792 # Error: assert(_f2 == 0 || _f2 == f2,"illegal field change") # # JRE version: 7.0 # Java VM: OpenJDK Server VM (18.0-b04-fastdebug mixed mode bsd-x86 ) # An error report file with more information is saved as: # /Users/lov080/Dropbox/Personal/Java/examples/Invoke Dynamic Multiple Dispatch/hs_err_pid57368.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # Current thread is 2953121792 Dumping core ... Abort trap The code is failing in the bootstrap method invoked by the first of my InvokeDynamic calls when it tries to create a CallSite from a MethodHandle. Is this a known problem or would it be useful if I investigate further? -- Howard. _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev