winedump: Define and dump POGO codeview record.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Eric Pouech 2021-11-15 18:25:28 +01:00 committed by Alexandre Julliard
parent 95c96399d8
commit 25d2c954ad
2 changed files with 16 additions and 0 deletions

View File

@ -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

View File

@ -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, " ");