8001077: remove ciMethod::will_link
Removed will_link and changed all calls to is_loaded(). Reviewed-by: kvn
This commit is contained in:
parent
f712e12f98
commit
4b288c8976
@ -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 ||
|
||||
|
@ -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()) {
|
||||
|
@ -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
|
||||
//
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user