From d50a168dede4254c18f7d337e18b2bb4bef9db2e Mon Sep 17 00:00:00 2001 From: John R Rose Date: Wed, 1 Jun 2011 23:56:43 -0700 Subject: [PATCH] 7049415: Failure of resolution of sym.reference to the c.s.s. should be wrapped in BootstrapMethodError Wrap invokedynamic linkage errors in BootstrapMethodError, as needed. Reviewed-by: never --- .../share/classes/java/lang/invoke/MethodHandleNatives.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java index daf64224cb8..0d17f4a5cb8 100644 --- a/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java +++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java @@ -359,6 +359,12 @@ class MethodHandleNatives { required = Object[].class; // should have been an array code = 192; // checkcast break; + case 191: // athrow + // JVM is asking us to wrap an exception which happened during resolving + if (required == BootstrapMethodError.class) { + throw new BootstrapMethodError((Throwable) actual); + } + break; } // disregard the identity of the actual object, if it is not a class: if (message == null) {