< prev index next >
src/hotspot/share/ci/ciMethod.cpp
Print this page
*** 275,285 ****
// ------------------------------------------------------------------
// ciMethod::vtable_index
//
// Get the position of this method's entry in the vtable, if any.
! int ciMethod::vtable_index() {
check_is_loaded();
assert(holder()->is_linked(), "must be linked");
VM_ENTRY_MARK;
return get_Method()->vtable_index();
}
--- 275,285 ----
// ------------------------------------------------------------------
// ciMethod::vtable_index
//
// Get the position of this method's entry in the vtable, if any.
! int ciMethod::vtable_index() const {
check_is_loaded();
assert(holder()->is_linked(), "must be linked");
VM_ENTRY_MARK;
return get_Method()->vtable_index();
}
*** 942,951 ****
--- 942,961 ----
//
bool ciMethod::is_object_initializer() const {
return name() == ciSymbol::object_initializer_name();
}
+ bool ciMethod::is_object_equals() const {
+ bool res = name() == ciSymbol::equals_name() && signature()->as_symbol() == ciSymbol::object_boolean_signature();
+ #ifdef ASSERT
+ ciMethod* m = ciEnv::current()->Object_klass()->find_method(ciSymbol::equals_name(), ciSymbol::object_boolean_signature());
+ assert(!holder()->is_linked() || res == (m->vtable_index() == vtable_index()), "Object.equals() or not?");
+ #endif
+ return res;
+ }
+
+
// ------------------------------------------------------------------
// ciMethod::has_member_arg
//
// Return true if the method is a linker intrinsic like _linkToVirtual.
// These are built by the JVM.
< prev index next >