diff options
| author | 2015-10-07 12:03:29 +0100 | |
|---|---|---|
| committer | 2015-10-07 12:03:29 +0100 | |
| commit | d4cf1e4fe0624b99df22ed5556dc1d042b32a7e0 (patch) | |
| tree | d4ffdff0fcea7e28c5b4b4f76199e55d44305cdd | |
| parent | d6ace609ef3c5d37ea4d980a2aaa3a9c31943d3b (diff) | |
Quick: Work around large frame sizes for x86_64.
Bug: 24729377
Change-Id: Id608aabad60fb7f1a1450a02444bddfb0eb008a6
| -rw-r--r-- | compiler/dex/global_value_numbering.cc | 4 | ||||
| -rw-r--r-- | compiler/dex/local_value_numbering.cc | 4 | ||||
| -rw-r--r-- | compiler/dex/local_value_numbering.h | 1 | ||||
| -rw-r--r-- | compiler/dex/mir_analysis.cc | 4 |
4 files changed, 13 insertions, 0 deletions
diff --git a/compiler/dex/global_value_numbering.cc b/compiler/dex/global_value_numbering.cc index 94ba4fad2a..aee94dcf43 100644 --- a/compiler/dex/global_value_numbering.cc +++ b/compiler/dex/global_value_numbering.cc @@ -41,9 +41,13 @@ GlobalValueNumbering::GlobalValueNumbering(CompilationUnit* cu, ScopedArenaAlloc merge_lvns_(allocator->Adapter()) { } +// FIXME: Large frame size for x86_64 target. Bug: 24729377. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wframe-larger-than=" GlobalValueNumbering::~GlobalValueNumbering() { STLDeleteElements(&lvns_); } +#pragma GCC diagnostic pop LocalValueNumbering* GlobalValueNumbering::PrepareBasicBlock(BasicBlock* bb, ScopedArenaAllocator* allocator) { diff --git a/compiler/dex/local_value_numbering.cc b/compiler/dex/local_value_numbering.cc index 38f7d1e712..25a832604a 100644 --- a/compiler/dex/local_value_numbering.cc +++ b/compiler/dex/local_value_numbering.cc @@ -347,6 +347,10 @@ LocalValueNumbering::LocalValueNumbering(GlobalValueNumbering* gvn, uint16_t id, std::fill_n(unresolved_ifield_version_, arraysize(unresolved_ifield_version_), 0u); } +LocalValueNumbering::~LocalValueNumbering() { + // All done by member destructors. +} + bool LocalValueNumbering::Equals(const LocalValueNumbering& other) const { DCHECK(gvn_ == other.gvn_); // Compare the maps/sets and memory versions. diff --git a/compiler/dex/local_value_numbering.h b/compiler/dex/local_value_numbering.h index dff5e27521..715da41afd 100644 --- a/compiler/dex/local_value_numbering.h +++ b/compiler/dex/local_value_numbering.h @@ -37,6 +37,7 @@ class LocalValueNumbering : public DeletableArenaObject<kArenaAllocMisc> { public: LocalValueNumbering(GlobalValueNumbering* gvn, BasicBlockId id, ScopedArenaAllocator* allocator); + ~LocalValueNumbering(); BasicBlockId Id() const { return id_; diff --git a/compiler/dex/mir_analysis.cc b/compiler/dex/mir_analysis.cc index 39f8ee8f7e..6a761d3f68 100644 --- a/compiler/dex/mir_analysis.cc +++ b/compiler/dex/mir_analysis.cc @@ -1305,6 +1305,9 @@ void MIRGraph::DoCacheFieldLoweringInfo() { } } +// FIXME: Large frame size for x86_64 target. Bug: 24729377. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wframe-larger-than=" void MIRGraph::DoCacheMethodLoweringInfo() { static constexpr uint16_t invoke_types[] = { kVirtual, kSuper, kDirect, kStatic, kInterface }; static constexpr uint32_t kMethodIdxFlagQuickened = 0x80000000; @@ -1429,6 +1432,7 @@ void MIRGraph::DoCacheMethodLoweringInfo() { MirMethodLoweringInfo::Resolve(cu_->compiler_driver, GetCurrentDexCompilationUnit(), method_lowering_infos_.data(), count); } +#pragma GCC diagnostic pop bool MIRGraph::SkipCompilationByName(const std::string& methodname) { return cu_->compiler_driver->SkipCompilation(methodname); |