diff options
-rw-r--r-- | runtime/runtime.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 941217f24d..512e8b8253 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -1606,8 +1606,8 @@ ArtMethod* Runtime::CreateImtConflictMethod(LinearAlloc* linear_alloc) { method->SetEntryPointFromQuickCompiledCodePtrSize(nullptr, pointer_size); } else { method->SetEntryPointFromQuickCompiledCode(GetQuickImtConflictStub()); + method->SetImtConflictTable(reinterpret_cast<ImtConflictTable*>(&empty_entry)); } - method->SetImtConflictTable(reinterpret_cast<ImtConflictTable*>(&empty_entry)); return method; } @@ -1615,7 +1615,9 @@ void Runtime::SetImtConflictMethod(ArtMethod* method) { CHECK(method != nullptr); CHECK(method->IsRuntimeMethod()); imt_conflict_method_ = method; - method->SetImtConflictTable(reinterpret_cast<ImtConflictTable*>(&empty_entry)); + if (!IsAotCompiler()) { + method->SetImtConflictTable(reinterpret_cast<ImtConflictTable*>(&empty_entry)); + } } ArtMethod* Runtime::CreateResolutionMethod() { @@ -1933,7 +1935,9 @@ void Runtime::SetImtUnimplementedMethod(ArtMethod* method) { CHECK(method != nullptr); CHECK(method->IsRuntimeMethod()); imt_unimplemented_method_ = method; - method->SetImtConflictTable(reinterpret_cast<ImtConflictTable*>(&empty_entry)); + if (!IsAotCompiler()) { + method->SetImtConflictTable(reinterpret_cast<ImtConflictTable*>(&empty_entry)); + } } bool Runtime::IsVerificationEnabled() const { |