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/stack.h b/src/stack.h
index ca379d4..70d6f9d 100644
--- a/src/stack.h
+++ b/src/stack.h
@@ -347,8 +347,8 @@
* +========================+
*/
static int GetVRegOffset(const DexFile::CodeItem* code_item,
- uint32_t core_spills, uint32_t fp_spills,
- size_t frame_size, int reg) {
+ uint32_t core_spills, uint32_t fp_spills,
+ size_t frame_size, int reg) {
DCHECK_EQ(frame_size & (kStackAlignment - 1), 0U);
int num_spills = __builtin_popcount(core_spills) + __builtin_popcount(fp_spills) + 1; // Filler.
int num_ins = code_item->ins_size_;