| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index a0e5d347aeca43aef081c5a46291e698c0575720..f7fe416865b991f857c10b2fc0b9756c64d28f70 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -11603,7 +11603,6 @@ void BytecodeArray::Disassemble(std::ostream& os) {
|
| for (int i = 0; i < this->length(); i += bytes) {
|
| interpreter::Bytecode bytecode = interpreter::Bytecodes::FromByte(get(i));
|
| bytes = interpreter::Bytecodes::Size(bytecode);
|
| -
|
| SNPrintF(buf, "%p : ", GetFirstBytecodeAddress() + i);
|
| os << buf.start();
|
| for (int j = 0; j < bytes; j++) {
|
| @@ -11613,7 +11612,26 @@ void BytecodeArray::Disassemble(std::ostream& os) {
|
| for (int j = bytes; j < interpreter::Bytecodes::MaximumSize(); j++) {
|
| os << " ";
|
| }
|
| - os << bytecode << "\n";
|
| + os << bytecode << " ";
|
| + for (int j = 1; j < bytes; j++) {
|
| + interpreter::OperandType op_type =
|
| + interpreter::Bytecodes::GetOperandType(bytecode, j - 1);
|
| + uint8_t operand = get(i + j);
|
| + switch (op_type) {
|
| + case interpreter::OperandType::kNone:
|
| + break;
|
| + case interpreter::OperandType::kImm8:
|
| + os << "#" << static_cast<int>(operand);
|
| + break;
|
| + case interpreter::OperandType::kReg:
|
| + os << "r" << static_cast<int>(operand);
|
| + break;
|
| + }
|
| + if (j + 1 < bytes) {
|
| + os << ", ";
|
| + }
|
| + }
|
| + os << "\n";
|
| }
|
| }
|
|
|
|
|