diff options
author | Andy Ayers <andya@microsoft.com> | 2021-06-09 03:59:13 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-09 03:59:13 +0300 |
commit | 3d1320464fd4f474d6ff98585613ebdde7844526 (patch) | |
tree | b349fecdc80e2eff198ac865043579fe845179cb /src/coreclr/inc | |
parent | 1fb1c8f4e2a6e96226c0532f6671659fcbdcaf9c (diff) |
JIT: fix OSR reporting for special stack slots (#53897)
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.
Diffstat (limited to 'src/coreclr/inc')
-rw-r--r-- | src/coreclr/inc/patchpointinfo.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/coreclr/inc/patchpointinfo.h b/src/coreclr/inc/patchpointinfo.h index e01446beb42..1445d8f79bc 100644 --- a/src/coreclr/inc/patchpointinfo.h +++ b/src/coreclr/inc/patchpointinfo.h @@ -66,6 +66,11 @@ struct PatchpointInfo return m_genericContextArgOffset; } + bool HasGenericContextArgOffset() const + { + return m_genericContextArgOffset != -1; + } + void SetGenericContextArgOffset(int offset) { m_genericContextArgOffset = offset; |