Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1093)

Unified Diff: runtime/vm/disassembler.h

Issue 2160343003: Use the Code's pointer offsets to find object references when disassembling IA32. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: . Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/vm/disassembler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/disassembler.h
diff --git a/runtime/vm/disassembler.h b/runtime/vm/disassembler.h
index fc3649a4406e0f07d15cc26729ccc62c29340cee..7adb12a494ce288e107221228300f46257e04991 100644
--- a/runtime/vm/disassembler.h
+++ b/runtime/vm/disassembler.h
@@ -29,6 +29,7 @@ class DisassemblyFormatter {
intptr_t hex_size,
char* human_buffer,
intptr_t human_size,
+ Object* object,
uword pc) = 0;
// Print a formatted message.
@@ -48,6 +49,7 @@ class DisassembleToStdout : public DisassemblyFormatter {
intptr_t hex_size,
char* human_buffer,
intptr_t human_size,
+ Object* object,
uword pc);
virtual void Print(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
@@ -70,6 +72,7 @@ class DisassembleToJSONStream : public DisassemblyFormatter {
intptr_t hex_size,
char* human_buffer,
intptr_t human_size,
+ Object* object,
uword pc);
virtual void Print(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
@@ -112,29 +115,14 @@ class Disassembler : public AllStatic {
Disassemble(start, end, &stdout_formatter);
}
- // Disassemble instructions in a memory region.
- static void DisassembleMemoryRegion(const MemoryRegion& instructions,
- DisassemblyFormatter* formatter) {
- uword start = instructions.start();
- uword end = instructions.end();
- Disassemble(start, end, formatter);
- }
-
- static void DisassembleMemoryRegion(const MemoryRegion& instructions) {
- uword start = instructions.start();
- uword end = instructions.end();
- Disassemble(start, end);
- }
-
// Decodes one instruction.
// Writes a hexadecimal representation into the hex_buffer and a
// human-readable representation into the human_buffer.
// Writes the length of the decoded instruction in bytes in out_instr_len.
static void DecodeInstruction(char* hex_buffer, intptr_t hex_size,
char* human_buffer, intptr_t human_size,
- int* out_instr_len, uword pc);
-
- static bool CanFindOldObject(uword addr);
+ int* out_instr_len, const Code& code,
+ Object** object, uword pc);
static void DisassembleCode(const Function& function, bool optimized);
static void DisassembleCodeUnoptimized(
« no previous file with comments | « no previous file | runtime/vm/disassembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698