< 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 >