diff options
author | Sergey Ignatov <sergign60@mail.ru> | 2017-02-06 20:00:32 +0300 |
---|---|---|
committer | Sergey Ignatov <sergign60@mail.ru> | 2017-02-06 20:00:32 +0300 |
commit | 2f39084514b02b76456034a446cec7018e80e88b (patch) | |
tree | 495951ae78ca5a9006a78ca8e867b8f40b1cc8ad /src/Native/Runtime/coreclr | |
parent | e6f4d76b00c514366f4ee277c470f032c7675d01 (diff) |
Fixed FEATURE_REDHAWK variant of GcInfoDecoder::GetRegisterSlot
Diffstat (limited to 'src/Native/Runtime/coreclr')
-rw-r--r-- | src/Native/Runtime/coreclr/gcinfodecoder.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Native/Runtime/coreclr/gcinfodecoder.cpp b/src/Native/Runtime/coreclr/gcinfodecoder.cpp index f152befe9..5cdf63464 100644 --- a/src/Native/Runtime/coreclr/gcinfodecoder.cpp +++ b/src/Native/Runtime/coreclr/gcinfodecoder.cpp @@ -1477,10 +1477,11 @@ OBJECTREF* GcInfoDecoder::GetRegisterSlot( _ASSERTE(regNum != 13); // sp #ifdef FEATURE_REDHAWK - PTR_UIntNative *ppReg; + PTR_UIntNative *ppReg = pRD->pR0; + if (regNum > 12) regNum--; // rsp is skipped in Redhawk RegDisplay + return (OBJECTREF*)*(ppReg + regNum); #else DWORD **ppReg; -#endif if(regNum <= 3) { @@ -1499,7 +1500,7 @@ OBJECTREF* GcInfoDecoder::GetRegisterSlot( ppReg = &pRD->pR4; return (OBJECTREF*)*(ppReg + regNum-4); - +#endif } #ifdef FEATURE_PAL |