[PATCH 3/9] tools/winedump: define and dump POGO codeview record
Eric Pouech
eric.pouech at gmail.com
Mon Nov 15 11:25:28 CST 2021
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
---
include/wine/mscvpdb.h | 10 ++++++++++
tools/winedump/msc.c | 6 ++++++
2 files changed, 16 insertions(+)
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h
index b0021ed3c25..5a09b9653a3 100644
--- a/include/wine/mscvpdb.h
+++ b/include/wine/mscvpdb.h
@@ -2024,6 +2024,16 @@ union codeview_symbol
unsigned short int csz; /* number of bytes in following array */
char rgsz[1]; /* array of null terminated strings (bounded by csz) */
} annotation_v3;
+
+ struct
+ {
+ unsigned short int len;
+ unsigned short int id;
+ unsigned int invocations;
+ __int64 dynCount;
+ unsigned numInstrs;
+ unsigned staInstLive;
+ } pogoinfo_v3;
};
enum BinaryAnnotationOpcode
diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c
index 0fbcc3dba80..f0856b2a6a2 100644
--- a/tools/winedump/msc.c
+++ b/tools/winedump/msc.c
@@ -1949,6 +1949,12 @@ BOOL codeview_dump_symbols(const void* root, unsigned long start, unsigned long
}
break;
+ case S_POGODATA:
+ printf("PogoData V3 inv:%d dynCnt:%lld inst:%d staInst:%d\n",
+ sym->pogoinfo_v3.invocations, (long long)sym->pogoinfo_v3.dynCount,
+ sym->pogoinfo_v3.numInstrs, sym->pogoinfo_v3.staInstLive);
+ break;
+
default:
printf("\n\t\t>>> Unsupported symbol-id %x sz=%d\n", sym->generic.id, sym->generic.len + 2);
dump_data((const void*)sym, sym->generic.len + 2, " ");
More information about the wine-devel
mailing list