diff -r 7801367e3cc9 -r 6e4a84748e2c hotspot/src/share/vm/oops/cpCache.cpp --- a/hotspot/src/share/vm/oops/cpCache.cpp Thu Jul 27 15:36:15 2017 +0200 +++ b/hotspot/src/share/vm/oops/cpCache.cpp Thu Jul 27 18:06:41 2017 -0400 @@ -139,7 +139,7 @@ } void ConstantPoolCacheEntry::set_direct_or_vtable_call(Bytecodes::Code invoke_code, - methodHandle method, + const methodHandle& method, int vtable_index, bool sender_is_interface) { bool is_vtable_call = (vtable_index >= 0); // FIXME: split this method on this boolean @@ -241,14 +241,14 @@ NOT_PRODUCT(verify(tty)); } -void ConstantPoolCacheEntry::set_direct_call(Bytecodes::Code invoke_code, methodHandle method, +void ConstantPoolCacheEntry::set_direct_call(Bytecodes::Code invoke_code, const methodHandle& method, bool sender_is_interface) { int index = Method::nonvirtual_vtable_index; // index < 0; FIXME: inline and customize set_direct_or_vtable_call set_direct_or_vtable_call(invoke_code, method, index, sender_is_interface); } -void ConstantPoolCacheEntry::set_vtable_call(Bytecodes::Code invoke_code, methodHandle method, int index) { +void ConstantPoolCacheEntry::set_vtable_call(Bytecodes::Code invoke_code, const methodHandle& method, int index) { // either the method is a miranda or its holder should accept the given index assert(method->method_holder()->is_interface() || method->method_holder()->verify_vtable_index(index), ""); // index >= 0; FIXME: inline and customize set_direct_or_vtable_call