Uh oh!
There was an error while loading. Please reload this page.
Add profiler ELT test - #39550
Conversation
ghost
commented
Jul 17, 2020
Tagging subscribers to this area: @tommcdon |
AndyAyersMS
commented
Jul 17, 2020
Thanks! This will be interesting when run conjunction with gc stress. Should happen in our overnight testing, once this is merged. |
2c192c2 to
d005b1cCompareThere are some bugs in the runtime's slow path ELT assembly stubs on linux. Not surprising given that we haven't ever been testing them. I just pushed some changes to add more diagnostics, I am going to go through and root cause them. |
d874005 to
bdd8471Comparea83e7b1 to
4714690Comparedavmason
commented
Jul 23, 2020
@noahfalk the remaining failures are an infrastructure issue, this is ready to review now @AndyAyersMS do you or anyone else from the jit team want to take a look at the assembly stub changes I made? I found the following issues:
If there are other interesting corner cases to test, please let me know. |
AndyAyersMS
commented
Jul 23, 2020
cc @dotnet/jit-contrib |
davmason
commented
Jul 23, 2020
@jashook this is the PR we talked about in standup, didn't realize you weren't part of the dotnet-diag group |
noahfalk
commented
Jul 28, 2020
That is fixed now right or is there still an issue? |
noahfalk
left a comment
There was a problem hiding this comment.
LGTM, though mostly I am relying on your test cases rather than my ability spot suspicious assembly code : )
As a broader issue if we've had these long standing bugs and nobody is complaining we should keep an eye out for feedback whether these APIs matter to the profiler authors. Its not clear to me that they do.
| // add the prespill register(r0-r3) size to get the stack pointer of previous function | ||
| _ASSERTE(pData->profiledSp == (void*)(ctx.Sp - 4*4)); | ||
| _ASSERTE(pData->profiledSp == (void*)(ctx.Sp - 4*4) || pData->profiledSp == (void*)(ctx.Sp - 6*4)); |
There was a problem hiding this comment.
The comment above the assert doesn't lead me to expect the 6 dword case, update the comment?
davmason
commented
Jul 29, 2020
The CI legs marked as in progress are actually complete, going to merge. |
Fix the following issues: On amd64 linux we didn't save and restore the xmm registers, and didn't handle enregistered 16 bytes structs as return values On arm we didn't save and restore the floating point registers (I made the linux arm helpers match the windows arm helpers) On arm64 we didn't handle 16 byte enregistered structs as return values And add tests
As mentioned in #39335 we currently have no ELT hook coverage in the runtime repo.
cc @AndyAyersMS