Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Unified Diff: runtime/vm/compiler_stats.h

Issue 1300033002: Fix compiler stats (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Review comments Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/compiler.cc ('k') | runtime/vm/compiler_stats.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/compiler_stats.h
diff --git a/runtime/vm/compiler_stats.h b/runtime/vm/compiler_stats.h
index e6d4162a1bb2d5d40bd7fe479fa58a38bc3e88a4..f0b47f4ec63c5eaf480ae5ad0a48e372205c72b4 100644
--- a/runtime/vm/compiler_stats.h
+++ b/runtime/vm/compiler_stats.h
@@ -11,13 +11,10 @@
#include "vm/timer.h"
-
namespace dart {
-DECLARE_FLAG(bool, compiler_stats);
-// TODO(hausner): Might want to expose some of these values in the
-// observatory. Use the metrics mechanism (metrics.h) for this.
+DECLARE_FLAG(bool, compiler_stats);
class CompilerStats {
public:
@@ -44,30 +41,40 @@ class CompilerStats {
Timer graphcompiler_timer; // Included in codegen_timer.
Timer codefinalizer_timer; // Included in codegen_timer.
- int64_t num_tokens_total;
+ int64_t num_tokens_total; // Isolate + VM isolate
int64_t num_literal_tokens_total;
int64_t num_ident_tokens_total;
int64_t num_tokens_consumed;
- int64_t num_token_checks;
- int64_t num_tokens_lookahead;
int64_t num_cached_consts;
int64_t num_const_cache_hits;
- int64_t num_classes_compiled;
- int64_t num_functions_compiled;
+ int64_t num_classes_parsed;
+ int64_t num_class_tokens;
+ int64_t num_functions_parsed; // Num parsed functions.
+ int64_t num_functions_compiled; // Num unoptimized compilations.
+ int64_t num_functions_optimized; // Num optimized compilations.
+ int64_t num_func_tokens_compiled;
int64_t num_implicit_final_getters;
+ int64_t num_method_extractors;
int64_t src_length; // Total number of characters in source.
int64_t total_code_size; // Bytes allocated for code and meta info.
int64_t total_instr_size; // Total size of generated code in bytes.
int64_t pc_desc_size;
int64_t vardesc_size;
+ char* text;
- void Print();
+ char* PrintToZone();
};
-#define INC_STAT(isolate, counter, incr) \
- if (FLAG_compiler_stats) { (isolate)->compiler_stats()->counter += (incr); }
+// TODO(hausner): make the increment thread-safe.
+#define INC_STAT(thread, counter, incr) \
+ if (FLAG_compiler_stats) { \
+ (thread)->isolate()->compiler_stats()->counter += (incr); }
+
+#define STAT_VALUE(thread, counter) \
+ ((FLAG_compiler_stats != false) ? \
+ (thread)->isolate()->compiler_stats()->counter : 0)
#define CSTAT_TIMER_SCOPE(thr, t) \
TimerScope timer(FLAG_compiler_stats, \
« no previous file with comments | « runtime/vm/compiler.cc ('k') | runtime/vm/compiler_stats.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698