| Index: runtime/vm/disassembler_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/disassembler_ia32.cc (revision 1951)
|
| +++ runtime/vm/disassembler_ia32.cc (working copy)
|
| @@ -1519,10 +1519,26 @@
|
| }
|
|
|
|
|
| -const char* Disassembler::RegisterName(Register reg) {
|
| - ASSERT(0 <= reg);
|
| - ASSERT(reg < kMaxCPURegisters);
|
| - return (cpu_regs[reg]);
|
| +void Disassembler::Disassemble(uword start,
|
| + uword end,
|
| + DisassemblyFormatter* formatter) {
|
| + ASSERT(formatter != NULL);
|
| + char hex_buffer[kHexadecimalBufferSize]; // Instruction in hexadecimal form.
|
| + char human_buffer[kUserReadableBufferSize]; // Human-readable instruction.
|
| + uword pc = start;
|
| + while (pc < end) {
|
| + int instruction_length = DecodeInstruction(hex_buffer,
|
| + sizeof(hex_buffer),
|
| + human_buffer,
|
| + sizeof(human_buffer),
|
| + pc);
|
| + formatter->ConsumeInstruction(hex_buffer,
|
| + sizeof(hex_buffer),
|
| + human_buffer,
|
| + sizeof(human_buffer),
|
| + pc);
|
| + pc += instruction_length;
|
| + }
|
| }
|
|
|
| } // namespace dart
|
|
|