diff options
author | Brian Carlstrom <bdc@google.com> | 2014-02-10 23:48:36 -0800 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2014-02-24 14:24:12 -0800 |
commit | 6449c62e40ef3a9bb75f664f922555affb532ee4 (patch) | |
tree | 2f1b2120bd648c95dea32b68c8e168e42c8e24fd /compiler/driver/compiler_driver.h | |
parent | 3fcf18e25241253f23efbeebe77b2a4c4a7c54d3 (diff) | |
download | art-6449c62e40ef3a9bb75f664f922555affb532ee4.zip art-6449c62e40ef3a9bb75f664f922555affb532ee4.tar.gz art-6449c62e40ef3a9bb75f664f922555affb532ee4.tar.bz2 |
Create CompilerOptions
Package up most compiler related options in CompilerOptions. Details include:
- Includes compiler filter, method thresholds, SEA IR mode.
- Excludes those needed during Runtime::Init such as CompilerCallbacks and VerificationResults.
- Pass CompilerOptions to CompilerDriver.
- Remove CompilerOptions from Runtime.
- Add ability to pass options for app and image dex2oat to runtime via
-Xcompiler-option and -Ximage-compiler-option respectively.
Other
- Replace 2x CompilerCallbacks implementations with one.
- Factor out execv code for use by both image and oat generation.
- More OatFile error_msg reporting.
- DCHECK for SuspendAll found trying to run valgrind.
Change-Id: Iecb57da907be0c856d00c3cd634b5042a229e620
Diffstat (limited to 'compiler/driver/compiler_driver.h')
-rw-r--r-- | compiler/driver/compiler_driver.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index 092fe52..5009779 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -45,6 +45,7 @@ class MethodVerifier; } // namespace verifier class AOTCompilationStats; +class CompilerOptions; class DexCompilationUnit; class DexFileToMethodInlinerMap; class InlineIGetIPutData; @@ -94,7 +95,8 @@ class CompilerDriver { // enabled. "image_classes" lets the compiler know what classes it // can assume will be in the image, with NULL implying all available // classes. - explicit CompilerDriver(VerificationResults* verification_results, + explicit CompilerDriver(const CompilerOptions* compiler_options, + VerificationResults* verification_results, DexFileToMethodInlinerMap* method_inliner_map, CompilerBackend::Kind compiler_backend_kind, InstructionSet instruction_set, @@ -129,6 +131,11 @@ class CompilerDriver { return instruction_set_features_; } + const CompilerOptions& GetCompilerOptions() const { + DCHECK(compiler_options_ != nullptr); + return *compiler_options_; + } + CompilerBackend* GetCompilerBackend() const { return compiler_backend_.get(); } @@ -551,6 +558,7 @@ class CompilerDriver { std::vector<const CallPatchInformation*> methods_to_patch_; std::vector<const TypePatchInformation*> classes_to_patch_; + const CompilerOptions* compiler_options_; VerificationResults* verification_results_; DexFileToMethodInlinerMap* method_inliner_map_; |