Fix module override for recursive generic signatures (dotnet/coreclr#24707)
authorJan Vorlicek <janvorli@microsoft.com>
Mon, 27 May 2019 16:42:16 +0000 (18:42 +0200)
committerGitHub <noreply@github.com>
Mon, 27 May 2019 16:42:16 +0000 (18:42 +0200)
commit6f624f35d975d4eae30967ae4a7beeb4a4c6c66a
tree627e6a3ffe3b9c7c719172a157d336d3a6b9be7c
parent39ea85c4628a734719d516620e06cf797914753a
Fix module override for recursive generic signatures (dotnet/coreclr#24707)

* Fix module override for recursive generic signatures

When crossgen-ing with large version bubble enabled, generic signatures
that got copied from the source IL were missing module overrides at
deeper levels of the generic signature.
For example, in case of X<Y<A,B>,Z>, the override was applied only to Y
and Z, but not to A and B.

This change fixes that by inserting module override zapsig at all
levels.

Commit migrated from https://github.com/dotnet/coreclr/commit/419b46fc7d0fe0659e7ab521c222b7c921b36e35
src/coreclr/src/vm/siginfo.hpp
src/coreclr/src/vm/zapsig.cpp
src/coreclr/src/vm/zapsig.h