From a7062e05e6048c7f817d784a5b94e3122e25b1ec Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 22 May 2014 12:50:17 +0100 Subject: Add a linear scan register allocator to the optimizing compiler. This is a "by-the-book" implementation. It currently only deals with allocating registers, with no hint optimizations. The changes remaining to make it functional are: - Allocate spill slots. - Resolution and placements of Move instructions. - Connect it to the code generator. Change-Id: Ie0b2f6ba1b98da85425be721ce4afecd6b4012a4 --- compiler/optimizing/graph_visualizer.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/graph_visualizer.h') diff --git a/compiler/optimizing/graph_visualizer.h b/compiler/optimizing/graph_visualizer.h index 2b88e652f7..2638cf504d 100644 --- a/compiler/optimizing/graph_visualizer.h +++ b/compiler/optimizing/graph_visualizer.h @@ -21,6 +21,7 @@ namespace art { +class CodeGenerator; class DexCompilationUnit; class HGraph; @@ -39,13 +40,17 @@ class HGraphVisualizer : public ValueObject { HGraphVisualizer(std::ostream* output, HGraph* graph, const char* string_filter, + const CodeGenerator& codegen, const DexCompilationUnit& cu); /** * Version of `HGraphVisualizer` for unit testing, that is when a * `DexCompilationUnit` is not available. */ - HGraphVisualizer(std::ostream* output, HGraph* graph, const char* name); + HGraphVisualizer(std::ostream* output, + HGraph* graph, + const CodeGenerator& codegen, + const char* name); /** * If this visualizer is enabled, emit the compilation information @@ -56,6 +61,7 @@ class HGraphVisualizer : public ValueObject { private: std::ostream* const output_; HGraph* const graph_; + const CodeGenerator& codegen_; // Is true when `output_` is not null, and the compiled method's name // contains the string_filter given in the constructor. -- cgit v1.2.3