Chromium Code Reviews| Index: src/log.cc |
| diff --git a/src/log.cc b/src/log.cc |
| index e520ff6aed04aada83d0aacf5b0231ca36bef32f..c07717166a5c8aa6725d23f581e9d288390c94a8 100644 |
| --- a/src/log.cc |
| +++ b/src/log.cc |
| @@ -1608,11 +1608,26 @@ void Logger::LogBytecodeHandlers() { |
| if (!FLAG_ignition) return; |
| const int last_index = static_cast<int>(interpreter::Bytecode::kLast); |
| - for (int index = 0; index <= last_index; ++index) { |
| - interpreter::Bytecode bytecode = interpreter::Bytecodes::FromByte(index); |
| - Code* code = isolate_->interpreter()->GetBytecodeHandler(bytecode); |
| - CodeCreateEvent(Logger::BYTECODE_HANDLER_TAG, AbstractCode::cast(code), |
| - interpreter::Bytecodes::ToString(bytecode)); |
| + for (int operand_scale = 1; operand_scale <= 4; operand_scale *= 2) { |
| + for (int index = 0; index <= last_index; ++index) { |
| + interpreter::Bytecode bytecode = interpreter::Bytecodes::FromByte(index); |
| + Code* code = |
| + isolate_->interpreter()->GetBytecodeHandler(bytecode, operand_scale); |
| + if (code != nullptr) { |
| + std::string bytecode_name = interpreter::Bytecodes::ToString(bytecode); |
|
rmcilroy
2016/03/10 16:45:38
How about making Bytecode::ToString take a width t
oth
2016/03/11 16:26:13
Added an overload to do this.
|
| + if (operand_scale == 2) { |
| + bytecode_name += "."; |
| + bytecode_name += |
| + interpreter::Bytecodes::ToString(interpreter::Bytecode::kWide); |
| + } else if (operand_scale == 4) { |
| + bytecode_name += "."; |
| + bytecode_name += interpreter::Bytecodes::ToString( |
| + interpreter::Bytecode::kExtraWide); |
| + } |
| + CodeCreateEvent(Logger::BYTECODE_HANDLER_TAG, AbstractCode::cast(code), |
| + bytecode_name.c_str()); |
| + } |
| + } |
| } |
| } |