Don't set GCState to 1 in PInvoke Epilog#38303
Conversation
The comment indicated this was necessary to keep the FrameListRoot live, but the code generated by `CreateFrameLinkUpdate` will do that if needed. Fix dotnet#38192
|
@dotnet/dnceng - the |
I shall investigate. |
|
@CarolEidt it's a timeout. It'd be nice if this were more obvious for sure but it'd be unfortunately a breaking API change so will have to wait. To see this:
|
|
Thanks @MattGal - is the timeout common? I've already retried once, and have retried again. I just ran the tests on my system and they completed in what seems like about the normal amount of time. |
|
@dotnet/jit-contrib PTAL |
AndyAyersMS
left a comment
There was a problem hiding this comment.
LGTM, just a few comments on comments.
src/coreclr/src/jit/liveness.cpp
Outdated
| LclVarDsc* varDsc = &lvaTable[info.compLvFrameListRoot]; | ||
| // 32-bit targets always pop the frame in the epilog. | ||
| // For 64-bit targets, we only do this in the epilog for IL stubs; | ||
| // for non-IL stubs the frame is popped after every PInvoke call. |
There was a problem hiding this comment.
Use the CLANG_FORMAT_COMMENT_ANCHOR here?
|
|
||
| if ((tree->AsCall()->IsUnmanaged() || tree->AsCall()->IsTailCall()) && compMethodRequiresPInvokeFrame()) | ||
| if ((tree->AsCall()->IsUnmanaged() || tree->AsCall()->IsTailCallViaJitHelper()) && | ||
| compMethodRequiresPInvokeFrame()) |
There was a problem hiding this comment.
Just below this is another comment mentioning "the TCB". Since you redid other comments, maybe redo this one too?
Quick check of Kusto shows a work item with that naming timing out on Windows.10.Amd64.Open having happened 257 of 9366 total run times in the past 30 days. Do note that while things may work on your box, there are variances; these machines have 2 cores, they run server OS skus, and it's also unlikely you ran the test locally 9300 times. |
Remove the incorrect setting of
GCStateand fix the liveness computation forcompLvFrameListRootfor tailcalls.Fix #38192