Quick: Work around large frame sizes for x86_64.
Bug: 24729377
Change-Id: Id608aabad60fb7f1a1450a02444bddfb0eb008a6
diff --git a/compiler/dex/global_value_numbering.cc b/compiler/dex/global_value_numbering.cc
index 94ba4fa..aee94dc 100644
--- a/compiler/dex/global_value_numbering.cc
+++ b/compiler/dex/global_value_numbering.cc
@@ -41,9 +41,13 @@
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 38f7d1e..25a8326 100644
--- a/compiler/dex/local_value_numbering.cc
+++ b/compiler/dex/local_value_numbering.cc
@@ -347,6 +347,10 @@
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 dff5e27..715da41 100644
--- a/compiler/dex/local_value_numbering.h
+++ b/compiler/dex/local_value_numbering.h
@@ -37,6 +37,7 @@
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 39f8ee8..6a761d3 100644
--- a/compiler/dex/mir_analysis.cc
+++ b/compiler/dex/mir_analysis.cc
@@ -1305,6 +1305,9 @@
}
}
+// 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 @@
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);