summaryrefslogtreecommitdiff
path: root/src/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2013-06-01 10:51:46 -0700
committer Ian Rogers <irogers@google.com> 2013-06-01 11:16:53 -0700
commitd0583802482a7b2f54749edc4faa00303459f9a8 (patch)
tree640fb56bfe465aeed281a6585dc12836c87858f9 /src/compiler/driver/compiler_driver.cc
parent8427a3db9efb1c67d581fdae006b9afc5c1283b2 (diff)
Allow type based sharpening for imprecise references.
When a reference is imprecise we may still be able to devirtualize if the method that is dispatched upon may not be overridden (ie final). Some other tidying of the devirtualization code. For boot this increases the frequency of type based devirtualization by a little more than 0.01%. Change-Id: I050efbcc78c6b89135a6432bd7c2e946d8efbab4
Diffstat (limited to 'src/compiler/driver/compiler_driver.cc')
-rw-r--r--src/compiler/driver/compiler_driver.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/driver/compiler_driver.cc b/src/compiler/driver/compiler_driver.cc
index aad77adb72..2783e2e13e 100644
--- a/src/compiler/driver/compiler_driver.cc
+++ b/src/compiler/driver/compiler_driver.cc
@@ -973,6 +973,8 @@ bool CompilerDriver::ComputeInvokeInfo(const DexCompilationUnit* mUnit, const ui
}
}
}
+ // TODO: the stats for direct code and method are off as we failed to find the direct
+ // method in the referring method's dex cache/file.
} else {
if (update_stats) {
stats_->ResolvedMethod(invoke_type);