build 18.0-b04-fastdebug regression?

Howard Lovatt howard.lovatt at gmail.com
Fri Jun 18 00:21:08 PDT 2010


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.


More information about the mlvm-dev mailing list