diff -r 32baebe49efe -r 70aab0c2ea8b hotspot/src/share/vm/interpreter/linkResolver.cpp --- a/hotspot/src/share/vm/interpreter/linkResolver.cpp Mon Apr 24 21:34:24 2017 +0200 +++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp Thu Apr 13 01:56:01 2017 -0700 @@ -150,8 +150,6 @@ kind = CallInfo::vtable_call; } else if (!resolved_klass->is_interface()) { // A default or miranda method. Compute the vtable index. - ResourceMark rm; - klassVtable* vt = resolved_klass->vtable(); index = LinkResolver::vtable_index_of_interface_method(resolved_klass, resolved_method); assert(index >= 0 , "we should have valid vtable index at this point"); @@ -163,7 +161,7 @@ #ifdef ASSERT // Ensure that this is really the case. Klass* object_klass = SystemDictionary::Object_klass(); - Method * object_resolved_method = object_klass->vtable()->method_at(index); + Method * object_resolved_method = object_klass->vtable().method_at(index); assert(object_resolved_method->name() == resolved_method->name(), "Object and interface method names should match at vtable index %d, %s != %s", index, object_resolved_method->name()->as_C_string(), resolved_method->name()->as_C_string()); @@ -400,9 +398,8 @@ } if (vtable_index == Method::invalid_vtable_index) { // get vtable_index for miranda methods - ResourceMark rm; - klassVtable *vt = ik->vtable(); - vtable_index = vt->index_of_miranda(name, signature); + klassVtable vt = ik->vtable(); + vtable_index = vt.index_of_miranda(name, signature); } return vtable_index; }