summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_options.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-01-27 16:15:08 +0000
committer Vladimir Marko <vmarko@google.com> 2016-01-27 18:23:01 +0000
commit47496c293b2b79c9747eeebafe444715202e7fc6 (patch)
tree803ae4a82452031db43e219b687864241e6e66d3 /compiler/driver/compiler_options.h
parentf032f3afe513093c508434b17ff1921a114c4424 (diff)
ART: Allow --no-inline-from to specify multiple dex files.
This will allow tests to specify arbitrary dex files from which we should not inline, in addition to core-oj, so that we can test the related functionality. Additionally, should the core-oj.jar core grow beyond a single classes.dex and require a multi-dex .jar, this change makes sure that we prevent inlining also from the extra classes<N>.dex files. Change-Id: I74da4839bf9bb405dd62ad80563bf646a7a65dd9
Diffstat (limited to 'compiler/driver/compiler_options.h')
-rw-r--r--compiler/driver/compiler_options.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h
index d47fc2ad4b..9d51b750bf 100644
--- a/compiler/driver/compiler_options.h
+++ b/compiler/driver/compiler_options.h
@@ -72,7 +72,7 @@ class CompilerOptions FINAL {
size_t num_dex_methods_threshold,
size_t inline_depth_limit,
size_t inline_max_code_units,
- const DexFile* no_inline_from,
+ const std::vector<const DexFile*>* no_inline_from,
bool include_patch_information,
double top_k_profile_threshold,
bool debuggable,
@@ -220,7 +220,7 @@ class CompilerOptions FINAL {
return abort_on_hard_verifier_failure_;
}
- const DexFile* GetNoInlineFromDexFile() const {
+ const std::vector<const DexFile*>* GetNoInlineFromDexFile() const {
return no_inline_from_;
}
@@ -257,8 +257,10 @@ class CompilerOptions FINAL {
size_t inline_depth_limit_;
size_t inline_max_code_units_;
- // A dex file from which we should not inline code.
- const DexFile* no_inline_from_;
+ // Dex files from which we should not inline code.
+ // This is usually a very short list (i.e. a single dex file), so we
+ // prefer vector<> over a lookup-oriented container, such as set<>.
+ const std::vector<const DexFile*>* no_inline_from_;
bool include_patch_information_;
// When using a profile file only the top K% of the profiled samples will be compiled.