Module: wine Branch: master Commit: 25d2c954adea4f46dcb9bc0e02ca63bb8de111c4 URL: https://source.winehq.org/git/wine.git/?a=commit;h=25d2c954adea4f46dcb9bc0e0...
Author: Eric Pouech eric.pouech@gmail.com Date: Mon Nov 15 18:25:28 2021 +0100
winedump: Define and dump POGO codeview record.
Signed-off-by: Eric Pouech eric.pouech@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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, " ");