--- a/hotspot/src/share/vm/runtime/deoptimization.cpp Mon Jul 23 13:04:59 2012 -0700
+++ b/hotspot/src/share/vm/runtime/deoptimization.cpp Tue Jul 24 10:51:00 2012 -0700
@@ -388,7 +388,7 @@
if (deopt_sender.is_interpreted_frame()) {
methodHandle method = deopt_sender.interpreter_frame_method();
Bytecode_invoke cur = Bytecode_invoke_check(method, deopt_sender.interpreter_frame_bci());
- if (cur.is_method_handle_invoke()) {
+ if (cur.is_invokedynamic() || cur.is_invokehandle()) {
// Method handle invokes may involve fairly arbitrary chains of
// calls so it's impossible to know how much actual space the
// caller has for locals.