diff options
| author | 2014-11-25 22:21:42 -0800 | |
|---|---|---|
| committer | 2014-11-26 15:07:36 -0800 | |
| commit | dbfe254f5ca96f6c5b2284478597d6140c01a394 (patch) | |
| tree | deb37dd72a728df8cda0e3879f89f13e6e461a2a /compiler/driver/compiler_options.h | |
| parent | 220526b05d4365a1820a694c98527eda2d3dc980 (diff) | |
ART: Print initialization failures to file
Add the ability to print boot image initialization failures to a
file.
Add a tool to convert said file into a Graphviz file.
Change-Id: Iedcc337bdf05654c154aa553236f20bdd15572ee
Diffstat (limited to 'compiler/driver/compiler_options.h')
| -rw-r--r-- | compiler/driver/compiler_options.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h index 0592f0cf1e..aec7d241f5 100644 --- a/compiler/driver/compiler_options.h +++ b/compiler/driver/compiler_options.h @@ -17,6 +17,7 @@ #ifndef ART_COMPILER_DRIVER_COMPILER_OPTIONS_H_ #define ART_COMPILER_DRIVER_COMPILER_OPTIONS_H_ +#include <ostream> #include <string> #include <vector> @@ -70,7 +71,8 @@ class CompilerOptions FINAL { #ifdef ART_SEA_IR_MODE sea_ir_mode_(false), #endif - verbose_methods_(nullptr) { + verbose_methods_(nullptr), + init_failure_output_(nullptr) { } CompilerOptions(CompilerFilter compiler_filter, @@ -90,7 +92,8 @@ class CompilerOptions FINAL { #ifdef ART_SEA_IR_MODE bool sea_ir_mode, #endif - const std::vector<std::string>* verbose_methods + const std::vector<std::string>* verbose_methods, + std::ostream* init_failure_output ) : // NOLINT(whitespace/parens) compiler_filter_(compiler_filter), huge_method_threshold_(huge_method_threshold), @@ -109,7 +112,8 @@ class CompilerOptions FINAL { #ifdef ART_SEA_IR_MODE sea_ir_mode_(sea_ir_mode), #endif - verbose_methods_(verbose_methods) { + verbose_methods_(verbose_methods), + init_failure_output_(init_failure_output) { } CompilerFilter GetCompilerFilter() const { @@ -217,6 +221,10 @@ class CompilerOptions FINAL { return false; } + std::ostream* GetInitFailureOutput() const { + return init_failure_output_; + } + private: CompilerFilter compiler_filter_; const size_t huge_method_threshold_; @@ -241,6 +249,9 @@ class CompilerOptions FINAL { // Vector of methods to have verbose output enabled for. const std::vector<std::string>* const verbose_methods_; + // Log initialization of initialization failures to this stream if not null. + std::ostream* const init_failure_output_; + DISALLOW_COPY_AND_ASSIGN(CompilerOptions); }; std::ostream& operator<<(std::ostream& os, const CompilerOptions::CompilerFilter& rhs); |