Chromium Code Reviews

Unified Diff: src/log.cc

Issue 1783483002: [interpreter] Add support for scalable operands. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Operand renaming. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
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());
+ }
+ }
}
}

Powered by Google App Engine