src/share/vm/ci/ciMethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
8014013 Cdiff src/share/vm/ci/ciMethod.cpp
src/share/vm/ci/ciMethod.cpp
Print this page
*** 284,294 ****
// Get the position of this method's entry in the itable, if any.
int ciMethod::itable_index() {
check_is_loaded();
assert(holder()->is_linked(), "must be linked");
VM_ENTRY_MARK;
! return klassItable::compute_itable_index(get_Method());
}
#endif // SHARK
// ------------------------------------------------------------------
--- 284,297 ----
// Get the position of this method's entry in the itable, if any.
int ciMethod::itable_index() {
check_is_loaded();
assert(holder()->is_linked(), "must be linked");
VM_ENTRY_MARK;
! Method* m = get_Method();
! if (!m->has_itable_index())
! return Method::nonvirtual_vtable_index;
! return m->itable_index();
}
#endif // SHARK
// ------------------------------------------------------------------
*** 1135,1144 ****
--- 1138,1151 ----
}
// ------------------------------------------------------------------
// ciMethod::check_call
bool ciMethod::check_call(int refinfo_index, bool is_static) const {
+ // This method is used only in C2 from InlineTree::ok_to_inline,
+ // and is only used under -Xcomp or -XX:CompileTheWorld.
+ // It appears to fail when applied to an invokeinterface call site.
+ // FIXME: Remove this method and resolve_method_statically; refactor to use the other LinkResolver entry points.
VM_ENTRY_MARK;
{
EXCEPTION_MARK;
HandleMark hm(THREAD);
constantPoolHandle pool (THREAD, get_Method()->constants());
src/share/vm/ci/ciMethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File