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

Side by Side Diff: runtime/vm/compiler_stats.cc

Issue 3004563003: Refactor Isolate name format, storage and log (Closed)
Patch Set: Make Dart_DebugName unique again Created 3 years, 4 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 unified diff | Download patch
« no previous file with comments | « runtime/observatory/tests/service/set_name_rpc_test.dart ('k') | runtime/vm/dart_api_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/compiler_stats.h" 5 #include "vm/compiler_stats.h"
6 6
7 #include "vm/flags.h" 7 #include "vm/flags.h"
8 #include "vm/log.h" 8 #include "vm/log.h"
9 #include "vm/object_graph.h" 9 #include "vm/object_graph.h"
10 #include "vm/object_store.h" 10 #include "vm/object_store.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 FLAG_compiler_stats = true; 136 FLAG_compiler_stats = true;
137 use_benchmark_output = true; 137 use_benchmark_output = true;
138 } 138 }
139 139
140 // Generate output for Golem benchmark harness. If the output format 140 // Generate output for Golem benchmark harness. If the output format
141 // changes, the parsing function in Golem must be updated. 141 // changes, the parsing function in Golem must be updated.
142 char* CompilerStats::BenchmarkOutput() { 142 char* CompilerStats::BenchmarkOutput() {
143 Update(); 143 Update();
144 Log log(PrintToStats); 144 Log log(PrintToStats);
145 LogBlock lb(Thread::Current(), &log); 145 LogBlock lb(Thread::Current(), &log);
146 log.Print("==== Compiler Stats for isolate '%s' ====\n", 146 log.Print("==== Compiler Stats for isolate (%" Pd64 ") '%s' ====\n",
147 isolate_->debugger_name()); 147 static_cast<int64_t>(isolate_->main_port()), isolate_->name());
148 148
149 log.Print("NumberOfTokens: %" Pd64 "\n", num_tokens_total); 149 log.Print("NumberOfTokens: %" Pd64 "\n", num_tokens_total);
150 log.Print("NumClassesParsed: %" Pd64 "\n", num_classes_parsed); 150 log.Print("NumClassesParsed: %" Pd64 "\n", num_classes_parsed);
151 log.Print("NumFunctionsCompiled: %" Pd64 "\n", num_functions_compiled); 151 log.Print("NumFunctionsCompiled: %" Pd64 "\n", num_functions_compiled);
152 log.Print("NumFunctionsOptimized: %" Pd64 "\n", num_functions_optimized); 152 log.Print("NumFunctionsOptimized: %" Pd64 "\n", num_functions_optimized);
153 log.Print("NumFunctionsParsed: %" Pd64 "\n", num_functions_parsed); 153 log.Print("NumFunctionsParsed: %" Pd64 "\n", num_functions_parsed);
154 154
155 // Scanner stats. 155 // Scanner stats.
156 int64_t scan_usecs = scanner_timer.TotalElapsedTime(); 156 int64_t scan_usecs = scanner_timer.TotalElapsedTime();
157 int64_t scan_speed = 157 int64_t scan_speed =
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 return NULL; 196 return NULL;
197 } else if (use_benchmark_output) { 197 } else if (use_benchmark_output) {
198 return BenchmarkOutput(); 198 return BenchmarkOutput();
199 } 199 }
200 200
201 Update(); 201 Update();
202 202
203 Log log(PrintToStats); 203 Log log(PrintToStats);
204 LogBlock lb(Thread::Current(), &log); 204 LogBlock lb(Thread::Current(), &log);
205 205
206 log.Print("==== Compiler Stats for isolate '%s' ====\n", 206 log.Print("==== Compiler Stats for isolate (%" Pd64 ") '%s' ====\n",
207 isolate_->debugger_name()); 207 static_cast<int64_t>(isolate_->main_port()), isolate_->name());
208 log.Print("Number of tokens: %" Pd64 "\n", num_tokens_total); 208 log.Print("Number of tokens: %" Pd64 "\n", num_tokens_total);
209 log.Print("Source length: %" Pd64 " characters\n", src_length); 209 log.Print("Source length: %" Pd64 " characters\n", src_length);
210 log.Print("Number of source tokens: %" Pd64 "\n", num_tokens_scanned); 210 log.Print("Number of source tokens: %" Pd64 "\n", num_tokens_scanned);
211 211
212 int64_t num_local_functions = 212 int64_t num_local_functions =
213 GrowableObjectArray::Handle(isolate_->object_store()->closure_functions()) 213 GrowableObjectArray::Handle(isolate_->object_store()->closure_functions())
214 .Length(); 214 .Length();
215 215
216 log.Print("==== Parser stats:\n"); 216 log.Print("==== Parser stats:\n");
217 log.Print("Total tokens consumed: %" Pd64 "\n", num_tokens_consumed); 217 log.Print("Total tokens consumed: %" Pd64 "\n", num_tokens_consumed);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 log.Print(" VarDesc size: %" Pd64 " KB\n", vardesc_size / 1024); 299 log.Print(" VarDesc size: %" Pd64 " KB\n", vardesc_size / 1024);
300 log.Flush(); 300 log.Flush();
301 char* stats_text = text; 301 char* stats_text = text;
302 text = NULL; 302 text = NULL;
303 return stats_text; 303 return stats_text;
304 } 304 }
305 305
306 #endif // !PRODUCT 306 #endif // !PRODUCT
307 307
308 } // namespace dart 308 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/observatory/tests/service/set_name_rpc_test.dart ('k') | runtime/vm/dart_api_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698