--- a/indy.patch Sat Jun 13 00:06:56 2009 -0700
+++ b/indy.patch Wed Jun 17 13:16:23 2009 -0700
@@ -1543,7 +1543,7 @@ diff --git a/src/share/classes/sun/dyn/C
}
private static final MethodHandle PRIVATE_INITIALIZE_CALL_SITE =
-@@ -61,10 +77,23 @@
+@@ -61,10 +77,25 @@
MethodHandle bsm = Linkage.getBootstrapMethod(caller);
if (bsm == null)
throw new InvokeDynamicBootstrapError("class has no bootstrap method: "+caller);
@@ -1565,7 +1565,9 @@ diff --git a/src/share/classes/sun/dyn/C
+ throw new InvokeDynamicBootstrapError("call site name not initialized correctly: "+site);
+ try {
+ PRIVATE_INITIALIZE_CALL_SITE.<void>invoke(site, callerMID, callerBCI);
-+ } catch (Exception ex) { throw new InternalError(); }
++ } catch (Throwable ex) {
++ throw new InvokeDynamicBootstrapError("call site initialization exception", ex);
++ }
return site;
}
}