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

Unified Diff: src/interpreter/interpreter.cc

Issue 1828633003: [Interpreter] Enable tracing of bytecode handler dispatches. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@count-bc
Patch Set: Review. Created 4 years, 8 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
Index: src/interpreter/interpreter.cc
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc
index 5084300dfee60294b3af19832d026410b5834c6f..e2ef40890eb8cd565c7be8532c59439d8dc66889 100644
--- a/src/interpreter/interpreter.cc
+++ b/src/interpreter/interpreter.cc
@@ -33,6 +33,14 @@ void Interpreter::Initialize() {
Zone zone(isolate_->allocator());
HandleScope scope(isolate_);
+ if (FLAG_trace_ignition_dispatches) {
+ static const int kBytecodeCount = static_cast<int>(Bytecode::kLast) + 1;
+ bytecode_dispatch_count_table_.Reset(
+ new uintptr_t[kBytecodeCount * kBytecodeCount]);
+ memset(bytecode_dispatch_count_table_.get(), 0,
+ sizeof(uintptr_t) * kBytecodeCount * kBytecodeCount);
+ }
+
// Generate bytecode handlers for all bytecodes and scales.
for (OperandScale operand_scale = OperandScale::kSingle;
operand_scale <= OperandScale::kMaxValid;
@@ -148,9 +156,11 @@ bool Interpreter::MakeBytecode(CompilationInfo* info) {
}
bool Interpreter::IsDispatchTableInitialized() {
- if (FLAG_trace_ignition || FLAG_trace_ignition_codegen) {
- // Regenerate table to add bytecode tracing operations
- // or to print the assembly code generated by TurboFan.
+ if (FLAG_trace_ignition || FLAG_trace_ignition_codegen ||
+ FLAG_trace_ignition_dispatches) {
+ // Regenerate table to add bytecode tracing operations,
+ // print the assembly code generated by TurboFan,
+ // or instrument handlers with dispatch counters.
return false;
}
return dispatch_table_[0] != nullptr;

Powered by Google App Engine
This is Rietveld 408576698