From 2cd05b7d9976c0c7fa74d58cb1608c809e5c37d3 Mon Sep 17 00:00:00 2001 From: Matthew Gharrity Date: Wed, 3 Aug 2016 16:57:37 -0700 Subject: Add a register allocation strategy compiler option Test: manually, on device. Change-Id: If007a1657dd5769ddef03691e0a19dbbe6ba1a29 --- compiler/driver/compiler_options.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'compiler/driver/compiler_options.h') diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h index 60b700ad91..cc66d7a577 100644 --- a/compiler/driver/compiler_options.h +++ b/compiler/driver/compiler_options.h @@ -24,6 +24,7 @@ #include "base/macros.h" #include "compiler_filter.h" #include "globals.h" +#include "optimizing/register_allocator.h" #include "utils.h" namespace art { @@ -74,7 +75,8 @@ class CompilerOptions FINAL { bool abort_on_hard_verifier_failure, const std::string& dump_cfg_file_name, bool dump_cfg_append, - bool force_determinism); + bool force_determinism, + RegisterAllocator::Strategy regalloc_strategy); CompilerFilter::Filter GetCompilerFilter() const { return compiler_filter_; @@ -244,6 +246,10 @@ class CompilerOptions FINAL { return force_determinism_; } + RegisterAllocator::Strategy GetRegisterAllocationStrategy() const { + return register_allocation_strategy_; + } + private: void ParseDumpInitFailures(const StringPiece& option, UsageFn Usage); void ParseDumpCfgPasses(const StringPiece& option, UsageFn Usage); @@ -254,6 +260,7 @@ class CompilerOptions FINAL { void ParseSmallMethodMax(const StringPiece& option, UsageFn Usage); void ParseLargeMethodMax(const StringPiece& option, UsageFn Usage); void ParseHugeMethodMax(const StringPiece& option, UsageFn Usage); + void ParseRegisterAllocationStrategy(const StringPiece& option, UsageFn Usage); CompilerFilter::Filter compiler_filter_; size_t huge_method_threshold_; @@ -297,6 +304,8 @@ class CompilerOptions FINAL { // outcomes. bool force_determinism_; + RegisterAllocator::Strategy register_allocation_strategy_; + friend class Dex2Oat; DISALLOW_COPY_AND_ASSIGN(CompilerOptions); -- cgit v1.2.3-59-g8ed1b