Fix sig inst (#46886)
authorBruce Forstall <brucefo@microsoft.com>
Wed, 13 Jan 2021 06:27:01 +0000 (20:27 -1000)
committerGitHub <noreply@github.com>
Wed, 13 Jan 2021 06:27:01 +0000 (22:27 -0800)
commit36d132e7c98098d0c5566056990f6ddb0a1aee8c
tree7d54c2d863bcb8517c894c9aa049d98ace5a7c9d
parentce4c7251bcdf5774a54861303afdb0a81ddbd29e
Fix sig inst (#46886)

* Fix 32-bit platform handling of CORINFO_SIG_INST

Previous code was reading an array of pointers as an array of
8-byte elements, leading to some cases of reading beyond
allocated memory and causing access violations. Convert remaining
cases to properly serialized/deserialized pointers.

This is a follow-up to #46604.

Moves all Agnostic types to their own file, agnostic.h, so MethodContext
and CompileResult can share helpers with the same types (previously,
they each had a copy of AgnosticCORINFO_SIG_INFO).

* Remove duplicate types

* Convert CompileResult to use common CORINFO_SIG_INFO functions

Add CrSigInstHandleMap to store handle map for CompileResults.

* Change JIT/EE GUID

SuperPMI format has changed, so change the GUID.
src/coreclr/ToolBox/superpmi/superpmi-shared/agnostic.h [new file with mode: 0644]
src/coreclr/ToolBox/superpmi/superpmi-shared/callutils.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/compileresult.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/compileresult.h
src/coreclr/ToolBox/superpmi/superpmi-shared/crlwmlist.h
src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.h
src/coreclr/ToolBox/superpmi/superpmi-shared/spmidumphelper.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/spmidumphelper.h
src/coreclr/ToolBox/superpmi/superpmi-shared/spmirecordhelper.h
src/coreclr/inc/jiteeversionguid.h