diff options
author | Vladimir Marko <vmarko@google.com> | 2018-11-30 17:01:50 +0000 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2018-12-06 16:26:43 +0000 |
commit | 2afaff7e9171992b0e2e95d0f485782d28e1b9dc (patch) | |
tree | 96c7ea4a13e8a9a191d58002de89fb005231980e /compiler/common_compiler_test.h | |
parent | 6a98f89c4ad645b04d6c80d3d7e260c59bf6f193 (diff) |
Refactor CompilerDriver::CompileAll().
Treat verification results and image classes as mutable
only in CompilerDriver::PreCompile(), and treat them as
immutable during compilation, accessed through the
CompilerOptions. This severs the dependency of the inliner
on the CompilerDriver.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I594a0213ca6a5003c19b4bd488af98db4358d51d
Diffstat (limited to 'compiler/common_compiler_test.h')
-rw-r--r-- | compiler/common_compiler_test.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/common_compiler_test.h b/compiler/common_compiler_test.h index e6d1564621..a71908e6c8 100644 --- a/compiler/common_compiler_test.h +++ b/compiler/common_compiler_test.h @@ -20,6 +20,8 @@ #include <list> #include <vector> +#include <jni.h> + #include "arch/instruction_set.h" #include "arch/instruction_set_features.h" #include "base/hash_set.h" @@ -37,6 +39,7 @@ class CompilerOptions; class CumulativeLogger; class DexFile; class ProfileCompilationInfo; +class TimingLogger; class VerificationResults; template<class T> class Handle; @@ -88,6 +91,10 @@ class CommonCompilerTest : public CommonRuntimeTest { const char* method_name, const char* signature) REQUIRES_SHARED(Locks::mutator_lock_); + void CompileAll(jobject class_loader, + const std::vector<const DexFile*>& dex_files, + TimingLogger* timings) REQUIRES(!Locks::mutator_lock_); + void ApplyInstructionSet(); void OverrideInstructionSetFeatures(InstructionSet instruction_set, const std::string& variant); @@ -116,6 +123,7 @@ class CommonCompilerTest : public CommonRuntimeTest { private: MemMap image_reservation_; + void* inaccessible_page_; // Chunks must not move their storage after being created - use the node-based std::list. std::list<std::vector<uint8_t>> header_code_and_maps_chunks_; |