diff options
Diffstat (limited to 'compiler/driver/compiler_driver.h')
-rw-r--r-- | compiler/driver/compiler_driver.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index a351f6d5df..1347b37fa0 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -31,11 +31,11 @@ #include "compiler.h" #include "dex_file.h" #include "driver/compiled_method_storage.h" -#include "jit/offline_profiling_info.h" #include "invoke_type.h" #include "method_reference.h" #include "mirror/class.h" // For mirror::Class::Status. #include "os.h" +#include "profiler.h" #include "runtime.h" #include "safe_map.h" #include "thread_pool.h" @@ -147,6 +147,10 @@ class CompilerDriver { return compiler_.get(); } + bool ProfilePresent() const { + return profile_present_; + } + // Are we compiling and creating an image file? bool IsBootImage() const { return boot_image_; @@ -441,10 +445,6 @@ class CompilerDriver { // Checks whether the provided method should be compiled, i.e., is in method_to_compile_. bool IsMethodToCompile(const MethodReference& method_ref) const; - // Checks whether profile guided compilation is enabled and if the method should be compiled - // according to the profile file. - bool ShouldCompileBasedOnProfile(const MethodReference& method_ref) const; - void RecordClassStatus(ClassReference ref, mirror::Class::Status status) REQUIRES(!compiled_classes_lock_); @@ -454,6 +454,9 @@ class CompilerDriver { uint16_t class_def_idx, const DexFile& dex_file) const; + // Should the compiler run on this method given profile information? + bool SkipCompilation(const std::string& method_name); + // Get memory usage during compilation. std::string GetMemoryUsageString(bool extended) const; @@ -592,6 +595,9 @@ class CompilerDriver { ThreadPool* thread_pool, TimingLogger* timings) REQUIRES(!Locks::mutator_lock_); + ProfileFile profile_file_; + bool profile_present_; + const CompilerOptions* const compiler_options_; VerificationResults* const verification_results_; DexFileToMethodInlinerMap* const method_inliner_map_; @@ -641,9 +647,6 @@ class CompilerDriver { // This option may be restricted to the boot image, depending on a flag in the implementation. std::unique_ptr<std::unordered_set<std::string>> methods_to_compile_; - // Info for profile guided compilation. - std::unique_ptr<ProfileCompilationInfo> profile_compilation_info_; - bool had_hard_verifier_failure_; size_t thread_count_; |