| Index: runtime/vm/disassembler.h
|
| diff --git a/runtime/vm/disassembler.h b/runtime/vm/disassembler.h
|
| index 1f2a22c7fc07e14b2f0db4149c9ffa4afc38cd80..893f0e815dbc28eac6f30fff84fba5c78b5dcdda 100644
|
| --- a/runtime/vm/disassembler.h
|
| +++ b/runtime/vm/disassembler.h
|
| @@ -13,6 +13,7 @@ namespace dart {
|
|
|
| // Froward declaration.
|
| class MemoryRegion;
|
| +class JSONStream;
|
|
|
| // Disassembly formatter interface, which consumes the
|
| // disassembled instructions in any desired form.
|
| @@ -54,6 +55,28 @@ class DisassembleToStdout : public DisassemblyFormatter {
|
| };
|
|
|
|
|
| +// Disassemble into a JSONStream.
|
| +class DisassembleToJSONStream : public DisassemblyFormatter {
|
| + public:
|
| + explicit DisassembleToJSONStream(JSONStream* stream) : DisassemblyFormatter(),
|
| + stream_(stream) { }
|
| + ~DisassembleToJSONStream() { }
|
| +
|
| + virtual void ConsumeInstruction(char* hex_buffer,
|
| + intptr_t hex_size,
|
| + char* human_buffer,
|
| + intptr_t human_size,
|
| + uword pc);
|
| +
|
| + virtual void Print(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
|
| +
|
| + private:
|
| + JSONStream* stream_;
|
| + DISALLOW_ALLOCATION();
|
| + DISALLOW_COPY_AND_ASSIGN(DisassembleToJSONStream);
|
| +};
|
| +
|
| +
|
| // Disassemble instructions.
|
| class Disassembler : public AllStatic {
|
| public:
|
|
|