summaryrefslogtreecommitdiffstats
path: root/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2014-03-12 15:42:41 +0000
committerVladimir Marko <vmarko@google.com>2014-03-12 17:59:23 +0000
commite3e0260c23d8999b9433715ac7ee5296ee2fd633 (patch)
tree8f13f12f929e36d9366583934ebb4a20b4ce09b7 /compiler/driver/compiler_driver.cc
parentca46e2003360b44f4c043f6da87092592bc3d6d6 (diff)
downloadart-e3e0260c23d8999b9433715ac7ee5296ee2fd633.zip
art-e3e0260c23d8999b9433715ac7ee5296ee2fd633.tar.gz
art-e3e0260c23d8999b9433715ac7ee5296ee2fd633.tar.bz2
Move inline method detection to runtime.
The debugger needs this for selective deoptimization. Change-Id: I8100000449b56e619288fb05d41ea6f02b53b334
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r--compiler/driver/compiler_driver.cc23
1 files changed, 0 insertions, 23 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index 7c4a6f7..d545c06 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -961,29 +961,6 @@ void CompilerDriver::ProcessedInvoke(InvokeType invoke_type, int flags) {
stats_->ProcessedInvoke(invoke_type, flags);
}
-bool CompilerDriver::ComputeSpecialAccessorInfo(uint32_t field_idx, bool is_put,
- verifier::MethodVerifier* verifier,
- InlineIGetIPutData* result) {
- mirror::DexCache* dex_cache = verifier->GetDexCache();
- uint32_t method_idx = verifier->GetMethodReference().dex_method_index;
- mirror::ArtMethod* method = dex_cache->GetResolvedMethod(method_idx);
- mirror::ArtField* field = dex_cache->GetResolvedField(field_idx);
- if (method == nullptr || field == nullptr || field->IsStatic()) {
- return false;
- }
- mirror::Class* method_class = method->GetDeclaringClass();
- mirror::Class* field_class = field->GetDeclaringClass();
- if (!method_class->CanAccessResolvedField(field_class, field, dex_cache, field_idx) ||
- (is_put && field->IsFinal() && method_class != field_class)) {
- return false;
- }
- DCHECK_GE(field->GetOffset().Int32Value(), 0);
- result->field_idx = field_idx;
- result->field_offset = field->GetOffset().Int32Value();
- result->is_volatile = field->IsVolatile();
- return true;
-}
-
bool CompilerDriver::ComputeInstanceFieldInfo(uint32_t field_idx, const DexCompilationUnit* mUnit,
bool is_put, MemberOffset* field_offset,
bool* is_volatile) {