| Index: runtime/vm/disassembler_dbc.cc
|
| diff --git a/runtime/vm/disassembler_dbc.cc b/runtime/vm/disassembler_dbc.cc
|
| index 5c8b3a0038ac22f3bcc725068ebfe6e702caa9fe..a2095a0d80a5c02ea5eb3bf06414d0b77dfe6c73 100644
|
| --- a/runtime/vm/disassembler_dbc.cc
|
| +++ b/runtime/vm/disassembler_dbc.cc
|
| @@ -10,6 +10,7 @@
|
| #include "platform/assert.h"
|
| #include "vm/constants_dbc.h"
|
| #include "vm/cpu.h"
|
| +#include "vm/instructions.h"
|
|
|
| namespace dart {
|
|
|
| @@ -214,6 +215,8 @@ void Disassembler::DecodeInstruction(char* hex_buffer,
|
| char* human_buffer,
|
| intptr_t human_size,
|
| int* out_instr_size,
|
| + const Code& code,
|
| + Object** object,
|
| uword pc) {
|
| const uint32_t instr = *reinterpret_cast<uint32_t*>(pc);
|
| const uint8_t opcode = instr & 0xFF;
|
| @@ -229,6 +232,14 @@ void Disassembler::DecodeInstruction(char* hex_buffer,
|
| if (out_instr_size) {
|
| *out_instr_size = sizeof(uint32_t);
|
| }
|
| +
|
| + *object = NULL;
|
| + if (!code.IsNull()) {
|
| + *object = &Object::Handle();
|
| + if (!DecodeLoadObjectFromPoolOrThread(pc, code, *object)) {
|
| + *object = NULL;
|
| + }
|
| + }
|
| }
|
|
|
|
|
|
|