diff options
author | 2015-05-22 15:37:09 +0100 | |
---|---|---|
committer | 2015-05-22 15:37:09 +0100 | |
commit | d5111bf05fc0a9974280a80eeb43db6d5227a81e (patch) | |
tree | cd119fb5d07f8347699ce7551e9471f2740b21ba /compiler/optimizing/optimizing_compiler.cc | |
parent | aa49c23d47e5fdfcf51380550ee864e9d30d082b (diff) |
Do not use dex_compilation_unit after inlining.
It's incompatible with inlining, as inlined invokes/load class/new
can be from another dex file.
Change-Id: I8897b6a012942bc8e136f2bea70252d3fb3a7fa5
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index b2e8ecd74a..fa3c310811 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -223,7 +223,6 @@ class OptimizingCompiler FINAL : public Compiler { CompiledMethod* CompileOptimized(HGraph* graph, CodeGenerator* codegen, CompilerDriver* driver, - const DexFile& dex_file, const DexCompilationUnit& dex_compilation_unit, PassInfoPrinter* pass_info) const; @@ -316,7 +315,6 @@ static void RunOptimizations(HOptimization* optimizations[], static void RunOptimizations(HGraph* graph, CompilerDriver* driver, OptimizingCompilerStats* stats, - const DexFile& dex_file, const DexCompilationUnit& dex_compilation_unit, PassInfoPrinter* pass_info_printer, StackHandleScopeCollection* handles) { @@ -335,10 +333,10 @@ static void RunOptimizations(HGraph* graph, GVNOptimization gvn(graph, side_effects); LICM licm(graph, side_effects); BoundsCheckElimination bce(graph); - ReferenceTypePropagation type_propagation(graph, dex_file, dex_compilation_unit, handles); + ReferenceTypePropagation type_propagation(graph, handles); InstructionSimplifier simplify2(graph, stats, "instruction_simplifier_after_types"); - IntrinsicsRecognizer intrinsics(graph, dex_compilation_unit.GetDexFile(), driver); + IntrinsicsRecognizer intrinsics(graph, driver); HOptimization* optimizations[] = { &intrinsics, @@ -391,12 +389,11 @@ static void AllocateRegisters(HGraph* graph, CompiledMethod* OptimizingCompiler::CompileOptimized(HGraph* graph, CodeGenerator* codegen, CompilerDriver* compiler_driver, - const DexFile& dex_file, const DexCompilationUnit& dex_compilation_unit, PassInfoPrinter* pass_info_printer) const { StackHandleScopeCollection handles(Thread::Current()); RunOptimizations(graph, compiler_driver, compilation_stats_.get(), - dex_file, dex_compilation_unit, pass_info_printer, &handles); + dex_compilation_unit, pass_info_printer, &handles); AllocateRegisters(graph, codegen, pass_info_printer); @@ -585,7 +582,6 @@ CompiledMethod* OptimizingCompiler::TryCompile(const DexFile::CodeItem* code_ite return CompileOptimized(graph, codegen.get(), compiler_driver, - dex_file, dex_compilation_unit, &pass_info_printer); } else if (shouldOptimize && can_allocate_registers) { |