summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-10-06 17:30:45 +0000
committerVladimir Marko <vmarko@google.com>2015-10-06 18:33:29 +0100
commitc90d7c7cd3103a7b7ce62b40873d2dfcf306ca74 (patch)
tree661e5ef28a81124de7092ff05fd7f774a45481d4 /compiler/optimizing/optimizing_compiler.cc
parent8c812b71552a8a1b2bf06e430d355b12b7084807 (diff)
Revert "Optimizing: Disable -Wframe-larger-than= for CompileOptimized()."
Instead, prevent inlining of AllocateRegisters() that uses huge stack-allocated objects. Bug: 24698147 This reverts commit 67f784e63343db5ecd6e584343484684ea60d1f8. Change-Id: I94c408f7acf6e43897a248d9ea0761b979ed00c8
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 12d6b03a12..28514e18ec 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -31,6 +31,7 @@
#include "base/arena_allocator.h"
#include "base/arena_containers.h"
#include "base/dumpable.h"
+#include "base/macros.h"
#include "base/timing_logger.h"
#include "boolean_simplifier.h"
#include "bounds_check_elimination.h"
@@ -534,6 +535,7 @@ static ArrayRef<const uint8_t> AlignVectorSize(ArenaVector<uint8_t>& vector) {
return ArrayRef<const uint8_t>(vector);
}
+NO_INLINE // Avoid increasing caller's frame size by large stack-allocated objects.
static void AllocateRegisters(HGraph* graph,
CodeGenerator* codegen,
PassObserver* pass_observer) {
@@ -562,9 +564,6 @@ static ArenaVector<LinkerPatch> EmitAndSortLinkerPatches(CodeGenerator* codegen)
return linker_patches;
}
-// TODO: The function below uses too much stack space. Bug: 24698147
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wframe-larger-than="
CompiledMethod* OptimizingCompiler::CompileOptimized(HGraph* graph,
CodeGenerator* codegen,
CompilerDriver* compiler_driver,
@@ -614,7 +613,6 @@ CompiledMethod* OptimizingCompiler::CompileOptimized(HGraph* graph,
soa.Self()->TransitionFromSuspendedToRunnable();
return compiled_method;
}
-#pragma GCC diagnostic pop
CompiledMethod* OptimizingCompiler::CompileBaseline(
CodeGenerator* codegen,