[corlib] Rewrite RuntimeType.GetGenericParameterConstraints (#3260)
authorAleksey Kliger (λgeek) <akliger@gmail.com>
Tue, 12 Jul 2016 15:16:59 +0000 (11:16 -0400)
committerGitHub <noreply@github.com>
Tue, 12 Jul 2016 15:16:59 +0000 (11:16 -0400)
commitf9851a79358c2a631f069ecd6ca4d298f2dd36ff
tree403ff762ced64548cb805f8cb7092005ae9b21c1
parent9d91232d02f1be47abac297f8a8b9f5e49e906fc
[corlib] Rewrite RuntimeType.GetGenericParameterConstraints (#3260)

* [corlib] Rewrite RuntimeType.GetGenericParameterConstraints

using managed code for managed object manipulation by surfacing the
native MonoGenericParamInfo struct to managed code as Mono.RuntimeStructs.GenericParamInfo

* [corlib] RuntimeType::GetGenericParameterAttributes can be managed code now.

* [corlib] Fix x86 breakage

RuntimeTypeHandle.GetGenericParameterInfo returns a pointer
Not a struct that's the same size as a pointer.  On the x86 Linux
calling convention they behave differently.
mcs/class/corlib/Mono/RuntimeHandles.cs
mcs/class/corlib/Mono/RuntimeStructs.cs
mcs/class/corlib/ReferenceSources/RuntimeType.cs
mcs/class/corlib/System/RuntimeTypeHandle.cs
mono/metadata/class-internals.h
mono/metadata/icall-def.h
mono/metadata/icall.c