-
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
OSR Test Failures #43534
Comments
With the advent of dotnet#38229 an optimized method may need to report generics context via `this` while the un-optimzed version did not need to report. This impacts OSR, which previously was always trying to use the unoptimized root method frame reporting. Now under OSR we must sometimes add a slot to the OSR frame instead. Addresses one of the failure cases in dotnet#43534.
With the advent of #38229 an optimized method may need to report generics context via `this` while the un-optimzed version did not need to report. This impacts OSR, which previously was always trying to use the unoptimized root method frame reporting. Now under OSR we must sometimes add a slot to the OSR frame instead. Addresses one of the failure cases in #43534.
First set of failures is now fixed. The second set of failures are cases where we have a profiler leave hook in an OSR method. The jit is not passing back the expected value of the caller stack pointer, since it require more work to get this for OSR. This needs to be fixed both for windows and SysV. Here's the current code for the latter: runtime/src/coreclr/jit/codegenxarch.cpp Lines 8923 to 8929 in 2ada920
|
Revise the reporting of the special stack slots for OSR to be more uniform. * Always record the original method FP-relative offset. * Always apply the same adjustment for original method slosts i the OSR frame * Handle caller-SP relative adjustment in `lvaToCallerSPRelativeOffset` In particular, this fixes dotnet#43534 where we were reporting the wrong caller SP for the profiler exit hook.
Revise the reporting of the special stack slots for OSR to be more uniform. * Always record the original method FP-relative offset. * Always apply the same adjustment for original method slosts i the OSR frame * Handle caller-SP relative adjustment in `lvaToCallerSPRelativeOffset` In particular, this fixes #43534 where we were reporting the wrong caller SP for the profiler exit hook.
Two different types of failures have cropped up in the experimental OSR test runs
See test results.
ppInfo->HasKeptAliveThis()
in roslyn based testspData->profiledRsp == (void*)ctx.Rsp
in profiler testscategory:correctness
theme:osr
skill-level:expert
cost:medium
The text was updated successfully, but these errors were encountered: