Fix `Span<T>` GCStress issue on x86 (dotnet/coreclr#9116)
authorKoundinya Veluri <kouvel@microsoft.com>
Thu, 26 Jan 2017 00:28:52 +0000 (16:28 -0800)
committerJan Kotas <jkotas@microsoft.com>
Thu, 26 Jan 2017 00:28:52 +0000 (16:28 -0800)
commit352eb873127442c84a4ffef5cf4a014350e19ee3
tree40a8f606697387710b53c1feed1232df40ddea39
parente63ae1c2a026c866f93b1441945e40d73118ca05
Fix `Span<T>` GCStress issue on x86 (dotnet/coreclr#9116)

x86 by default treats the type of `ByReference<T>` as the actual type of its IntPtr field as an optimization. `ByReference<T>` is a special case where the struct needs to be treated as a value type so that its field can be considered as a by-ref pointer. This fixes `GCStress=f` issues on span tests on x86.

Commit migrated from https://github.com/dotnet/coreclr/commit/6f7baa9e1ec9a848c1b98a4af8d9d8c2851ef023
src/coreclr/src/vm/methodtablebuilder.cpp