8147978: Remove Method::_method_data for C1

Method::_method_data field removed when not using C2 or JVMCI

Reviewed-by: dholmes, kvn
This commit is contained in:
Chris Plummer 2016-02-26 09:13:22 -08:00
parent 30ee713e36
commit 6d7d3228e7
6 changed files with 52 additions and 16 deletions

View file

@ -1502,21 +1502,23 @@ JRT_ENTRY(void, Runtime1::predicate_failed_trap(JavaThread* thread))
nm->make_not_entrant();
methodHandle m(nm->method());
MethodData* mdo = m->method_data();
if (ProfileInterpreter) {
MethodData* mdo = m->method_data();
if (mdo == NULL && !HAS_PENDING_EXCEPTION) {
// Build an MDO. Ignore errors like OutOfMemory;
// that simply means we won't have an MDO to update.
Method::build_interpreter_method_data(m, THREAD);
if (HAS_PENDING_EXCEPTION) {
assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here");
CLEAR_PENDING_EXCEPTION;
if (mdo == NULL && !HAS_PENDING_EXCEPTION) {
// Build an MDO. Ignore errors like OutOfMemory;
// that simply means we won't have an MDO to update.
Method::build_interpreter_method_data(m, THREAD);
if (HAS_PENDING_EXCEPTION) {
assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here");
CLEAR_PENDING_EXCEPTION;
}
mdo = m->method_data();
}
mdo = m->method_data();
}
if (mdo != NULL) {
mdo->inc_trap_count(Deoptimization::Reason_none);
if (mdo != NULL) {
mdo->inc_trap_count(Deoptimization::Reason_none);
}
}
if (TracePredicateFailedTraps) {