-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate changes from NativeAOT branch #53650
Conversation
Includes faster virtual method enumerator that should help crossgen2 too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
@@ -434,9 +450,6 @@ public static partial class MarshalHelpers | |||
{ | |||
case NativeTypeKind.Array: | |||
{ | |||
if (isField || isReturn) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removal of this check seems to have caused a regression compiling a test containing VT arrays of itself:
private VT[] _m_dummyGCRef; |
This is now failing outerloop jobs since @trylek switched them to crossgen2 today.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please share link to the log?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is a log of one of today's outerloop runs. Its generating a stackoverflow with this stack:
at Internal.TypeSystem.Interop.MarshalUtils.IsBlittableType(Internal.TypeSystem.TypeDesc)
at Internal.TypeSystem.Interop.MarshalHelpers.GetArrayElementMarshallerKind(Internal.TypeSystem.ArrayType, Internal.TypeSystem.MarshalAsDescriptor, Boolean)
at Internal.TypeSystem.Interop.MarshalHelpers.GetMarshallerKind(Internal.TypeSystem.TypeDesc, System.Nullable`1<Int32>, Internal.TypeSystem.EmbeddedSignatureData[], Internal.TypeSystem.MarshalAsDescriptor, Boolean, Boolean, Internal.TypeSystem.Interop.MarshallerType, Internal.TypeSystem.Interop.MarshallerKind ByRef)
at Internal.TypeSystem.Interop.MarshalUtils.IsBlittableType(Internal.TypeSystem.TypeDesc)
at Internal.TypeSystem.Interop.MarshalHelpers.GetArrayElementMarshallerKind(Internal.TypeSystem.ArrayType, Internal.TypeSystem.MarshalAsDescriptor, Boolean)
at Internal.TypeSystem.Interop.MarshalHelpers.GetMarshallerKind(Internal.TypeSystem.TypeDesc, System.Nullable`1<Int32>, Internal.TypeSystem.EmbeddedSignatureData[], Internal.TypeSystem.MarshalAsDescriptor, Boolean, Boolean, Internal.TypeSystem.Interop.MarshallerType, Internal.TypeSystem.Interop.MarshallerKind ByRef)
at Internal.TypeSystem.Interop.MarshalUtils.IsBlittableType(Internal.TypeSystem.TypeDesc)
Includes faster virtual method enumerator that should help crossgen2 too