Dump maps inline in disassembled code.
In pursuit of Bug: 7250540, dump mapping and GC map tables inline such
as:
0x607333a8: f8dfe11c ldr.w lr, [pc, #284] ; 0x6076416d
0x607333ac: 1c05 mov r5, r0
0x607333ae: f8df0144 ldr.w r0, [pc, #324] ; 0x6003ba08
0x607333b2: 9a0b ldr r2, [sp, #44]
0x607333b4: f04f0b2f orr r11, pc, ThumbExpand(47)
0x607333b8: 1c29 mov r1, r5
0x607333ba: 465b mov r3, r11
0x607333bc: 2900 cmp r1, #0
0x607333be: f0008070 beq.w +224 (0x607334a2)
0x607333c2: 47f0 blx lr
suspend point dex PC: 44
GC map objects: v2 (r7), v3 (r5), v6 ([sp + #84]), v7 (r6)
...
As GC map and mapping tables are inline, don't dump them.
Also dump dex instructions before code.
Change-Id: I9f0c04182a4cda6844027eae22e8151f2827dc99
diff --git a/src/disassembler_arm.h b/src/disassembler_arm.h
index c59d395..103876f 100644
--- a/src/disassembler_arm.h
+++ b/src/disassembler_arm.h
@@ -28,6 +28,7 @@
public:
DisassemblerArm();
+ virtual size_t Dump(std::ostream& os, const uint8_t* begin);
virtual void Dump(std::ostream& os, const uint8_t* begin, const uint8_t* end);
private:
void DumpArm(std::ostream& os, const uint8_t* instr);