src/share/vm/opto/graphKit.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6829187 Cdiff src/share/vm/opto/graphKit.cpp

src/share/vm/opto/graphKit.cpp

Print this page
rev 1082 : [mq]: indy.compiler.patch

*** 979,996 **** case Bytecodes::_invokespecial: case Bytecodes::_invokestatic: case Bytecodes::_invokedynamic: case Bytecodes::_invokeinterface: { - bool is_static = (depth == 0); bool ignore; ciBytecodeStream iter(method()); iter.reset_to_bci(bci()); iter.next(); ciMethod* method = iter.get_method(ignore); inputs = method->arg_size_no_receiver(); ! if (!is_static) inputs += 1; int size = method->return_type()->size(); depth = size - inputs; } break; --- 979,1001 ---- case Bytecodes::_invokespecial: case Bytecodes::_invokestatic: case Bytecodes::_invokedynamic: case Bytecodes::_invokeinterface: { bool ignore; ciBytecodeStream iter(method()); iter.reset_to_bci(bci()); iter.next(); ciMethod* method = iter.get_method(ignore); inputs = method->arg_size_no_receiver(); ! // Add a receiver argument, maybe: ! if (code != Bytecodes::_invokestatic && ! code != Bytecodes::_invokedynamic) ! inputs += 1; ! // (Do not use ciMethod::arg_size(), because ! // it might be an unloaded method, which doesn't ! // know whether it is static or not.) int size = method->return_type()->size(); depth = size - inputs; } break;
src/share/vm/opto/graphKit.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File