8001077: remove ciMethod::will_link

Removed will_link and changed all calls to is_loaded().

Reviewed-by: kvn
This commit is contained in:
Bharadwaj Yadavalli 2012-11-15 10:42:06 -08:00
parent f712e12f98
commit 4b288c8976
5 changed files with 3 additions and 25 deletions

View File

@ -1836,7 +1836,7 @@ void GraphBuilder::invoke(Bytecodes::Code code) {
// check if we could do inlining
if (!PatchALot && Inline && klass->is_loaded() &&
(klass->is_initialized() || klass->is_interface() && target->holder()->is_initialized())
&& target->will_link(klass, callee_holder, code)) {
&& target->is_loaded()) {
// callee is known => check if we have static binding
assert(target->is_loaded(), "callee must be known");
if (code == Bytecodes::_invokestatic ||

View File

@ -282,7 +282,7 @@ void BCEscapeAnalyzer::invoke(StateInfo &state, Bytecodes::Code code, ciMethod*
ciMethod* inline_target = NULL;
if (target->is_loaded() && klass->is_loaded()
&& (klass->is_initialized() || klass->is_interface() && target->holder()->is_initialized())
&& target->will_link(klass, callee_holder, code)) {
&& target->is_loaded()) {
if (code == Bytecodes::_invokestatic
|| code == Bytecodes::_invokespecial
|| code == Bytecodes::_invokevirtual && target->is_final_method()) {

View File

@ -875,25 +875,6 @@ ciMethodData* ciMethod::method_data_or_null() {
return md;
}
// ------------------------------------------------------------------
// ciMethod::will_link
//
// Will this method link in a specific calling context?
bool ciMethod::will_link(ciKlass* accessing_klass,
ciKlass* declared_method_holder,
Bytecodes::Code bc) {
if (!is_loaded()) {
// Method lookup failed.
return false;
}
// The link checks have been front-loaded into the get_method
// call. This method (ciMethod::will_link()) will be removed
// in the future.
return true;
}
// ------------------------------------------------------------------
// ciMethod::should_exclude
//

View File

@ -241,9 +241,6 @@ class ciMethod : public ciMetadata {
int resolve_vtable_index(ciKlass* caller, ciKlass* receiver);
// Compilation directives
bool will_link(ciKlass* accessing_klass,
ciKlass* declared_method_holder,
Bytecodes::Code bc);
bool should_exclude();
bool should_inline();
bool should_not_inline();

View File

@ -334,7 +334,7 @@ bool Parse::can_not_compile_call_site(ciMethod *dest_method, ciInstanceKlass* kl
return true;
}
assert(dest_method->will_link(method()->holder(), klass, bc()), "dest_method: typeflow responsibility");
assert(dest_method->is_loaded(), "dest_method: typeflow responsibility");
return false;
}