-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Fix crossgen2 of Vector<T> while AbiStable set #46069
Conversation
src/libraries/System.Private.CoreLib/src/System/SpanHelpers.Byte.cs
Outdated
Show resolved
Hide resolved
72cd486
to
cac225f
Compare
@davidwrighton should review this change. It may need to wait after the holidays. |
@davidwrighton had you chance to look into this change? |
Crossgen2 precompiled methods added by this pull request https://gist.github.com/t-mustafin/0720c0829328925095f29c29eaecff72 |
@davidwrighton could you please review, so this can be merged? |
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.
We aren't prepared to modify the base libraries in the way you suggest. Instead please handle the situation internally in crossgen2.
src/libraries/System.Private.CoreLib/src/System/SpanHelpers.Byte.cs
Outdated
Show resolved
Hide resolved
Other than the libraries changes this looks good. |
@t-mustafin could you please update based on @davidwrighton review? |
Hi @t-mustafin, do you plan to update the PR or should this be closed for now? |
Hi, I plan to update it in couple of days, after testing new patch. |
cac225f
to
50323b3
Compare
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.
Actually. this change breaks the arm test pass thoroughly. Please restrict any changes to your scenario only. Possibly by making this happen only if there is a command line switch to enable this or something.
Signed-off-by: Timur <[email protected]>
50323b3
to
65be58b
Compare
@t-mustafin This change causes a great many tests to fail as you can see in the reports, and will not be merged until the tests are clean. |
65be58b
to
c61e71c
Compare
That PR was consists of two patches which fixes first two points of issue #44948. Now I can not suggest a good solution for second point. So maybe only first patch will show no tests regression. |
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.
See comment about abi stability check for the owningDefType
@@ -1035,7 +1035,7 @@ private uint getMethodAttribsInternal(MethodDesc method) | |||
DefType owningDefType = method.OwningType as DefType; | |||
if (owningDefType != null && VectorOfTFieldLayoutAlgorithm.IsVectorOfTType(owningDefType)) | |||
{ | |||
throw new RequiresRuntimeJitException("This function is using SIMD intrinsics, their size is machine specific"); | |||
VerifyMethodSignatureIsStable(method.Signature); |
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.
This needs to check that the abi of owningDefType is stable in addition to the signature. I think that will fix the failures you are seeing in the X64 tests.
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.
Unfortunately it don't fixes Debug build problem.
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.
:-/ Well, It looks reasonable now, but I don't know why its failing then. Let us know when you find out why.
Is this is required for .net 6 we only have a couple of weeks to get this merged. |
@t-mustafin could we close this till you can get back to this? |
@mangod9 yes close PR, it looks obsolete. We'll open new one when return to task. |
Methods
Vector<T>
aot compilation should perform after #40820. I don't exactly know how to countinstanceLayout
, question #45794, made it with_fallbackAlgorithm.ComputeInstanceLayout()
.First two points from #44948 conncted to
Vector<T>
methods should be fixed by this PR.calculator_vector_aggressivedel.nettrace.txt
cc @davidwrighton @jkotas @alpencolt
Signed-off-by: Timur [email protected]