From 47496c293b2b79c9747eeebafe444715202e7fc6 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Wed, 27 Jan 2016 16:15:08 +0000 Subject: 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.dex files. Change-Id: I74da4839bf9bb405dd62ad80563bf646a7a65dd9 --- compiler/driver/compiler_options.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'compiler/driver/compiler_options.h') 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* 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* 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* no_inline_from_; bool include_patch_information_; // When using a profile file only the top K% of the profiled samples will be compiled. -- cgit v1.2.3-59-g8ed1b