summaryrefslogtreecommitdiff
path: root/compiler/dex/quick/quick_compiler.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-12-02 22:44:52 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2015-12-02 23:00:53 +0000
commit9fdb129b90c9a985f606f9d95627b4852171dc11 (patch)
treec7b1e1da1450f61a504cdf6e21cda62541e93ee7 /compiler/dex/quick/quick_compiler.cc
parent57989d6f7292155f4d91ce423cede17d04dd9343 (diff)
Revert "Enable profiled guided compilation in dex2oat"
Test has flakes: +art F 30865 30865 art/runtime/java_vm_ext.cc:466] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x80 +art F 30865 30865 art/runtime/java_vm_ext.cc:466] string: '��gy�' +art F 30865 30865 art/runtime/java_vm_ext.cc:466] input: '<0x80> 0xd8 0x67 0x79 0x8e 0x7f' +art F 30865 30865 art/runtime/java_vm_ext.cc:466] in call to NewStringUTF +art F 30865 30865 art/runtime/java_vm_ext.cc:466] from java.lang.String Main.getProfileInfoDump(java.lang.String, java.lang.Class, java.lang.Class) This reverts commit 27e17fd81cc30e16e86c9c15498cae7f920c9dfe. Change-Id: Id224b5970c3620c4c71fc0d39ed4a2e4755e5f29
Diffstat (limited to 'compiler/dex/quick/quick_compiler.cc')
-rw-r--r--compiler/dex/quick/quick_compiler.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/dex/quick/quick_compiler.cc b/compiler/dex/quick/quick_compiler.cc
index 3260a7a050..05dde9f649 100644
--- a/compiler/dex/quick/quick_compiler.cc
+++ b/compiler/dex/quick/quick_compiler.cc
@@ -780,6 +780,14 @@ CompiledMethod* QuickCompiler::Compile(const DexFile::CodeItem* code_item,
PassDriverMEOpts pass_driver(GetPreOptPassManager(), GetPostOptPassManager(), &cu);
pass_driver.Launch();
+ /* For non-leaf methods check if we should skip compilation when the profiler is enabled. */
+ if (cu.compiler_driver->ProfilePresent()
+ && !cu.mir_graph->MethodIsLeaf()
+ && cu.mir_graph->SkipCompilationByName(PrettyMethod(method_idx, dex_file))) {
+ cu.EndTiming();
+ return nullptr;
+ }
+
if (cu.enable_debug & (1 << kDebugDumpCheckStats)) {
cu.mir_graph->DumpCheckStats();
}