1.1 --- a/src/share/vm/ci/bcEscapeAnalyzer.cpp Thu Apr 21 00:25:40 2011 -0700 1.2 +++ b/src/share/vm/ci/bcEscapeAnalyzer.cpp Mon Apr 25 16:25:58 2011 -0700 1.3 @@ -232,14 +232,7 @@ 1.4 } 1.5 1.6 // compute size of arguments 1.7 - int arg_size = target->arg_size(); 1.8 - if (code == Bytecodes::_invokedynamic) { 1.9 - assert(!target->is_static(), "receiver explicit in method"); 1.10 - arg_size--; // implicit, not really on stack 1.11 - } 1.12 - if (!target->is_loaded() && code == Bytecodes::_invokestatic) { 1.13 - arg_size--; 1.14 - } 1.15 + int arg_size = target->invoke_arg_size(code); 1.16 int arg_base = MAX2(state._stack_height - arg_size, 0); 1.17 1.18 // direct recursive calls are skipped if they can be bound statically without introducing