| Index: runtime/vm/disassembler_mips.cc
|
| diff --git a/runtime/vm/disassembler_mips.cc b/runtime/vm/disassembler_mips.cc
|
| index 22fe462d8c61cad887882441826402679208a452..78831a7407f3416d55cd8dd298c33c68a7ffce30 100644
|
| --- a/runtime/vm/disassembler_mips.cc
|
| +++ b/runtime/vm/disassembler_mips.cc
|
| @@ -7,6 +7,7 @@
|
| #include "vm/globals.h" // Needed here to get TARGET_ARCH_MIPS.
|
| #if defined(TARGET_ARCH_MIPS)
|
| #include "platform/assert.h"
|
| +#include "vm/instructions.h"
|
|
|
| namespace dart {
|
|
|
| @@ -778,7 +779,8 @@ void MIPSDecoder::InstructionDecode(Instr* instr) {
|
|
|
| void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
|
| char* human_buffer, intptr_t human_size,
|
| - int* out_instr_len, uword pc) {
|
| + int* out_instr_len, const Code& code,
|
| + Object** object, uword pc) {
|
| MIPSDecoder decoder(human_buffer, human_size);
|
| Instr* instr = Instr::At(pc);
|
| decoder.InstructionDecode(instr);
|
| @@ -786,6 +788,14 @@ void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
|
| if (out_instr_len) {
|
| *out_instr_len = Instr::kInstrSize;
|
| }
|
| +
|
| + *object = NULL;
|
| + if (!code.IsNull()) {
|
| + *object = &Object::Handle();
|
| + if (!DecodeLoadObjectFromPoolOrThread(pc, code, *object)) {
|
| + *object = NULL;
|
| + }
|
| + }
|
| }
|
|
|
| #endif // !PRODUCT
|
|
|