diff options
Diffstat (limited to 'src/vm/util.cpp')
-rw-r--r-- | src/vm/util.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/vm/util.cpp b/src/vm/util.cpp index 7a05624113..f7185c744f 100644 --- a/src/vm/util.cpp +++ b/src/vm/util.cpp @@ -739,6 +739,46 @@ SIZE_T GetRegOffsInCONTEXT(ICorDebugInfo::RegNum regNum) case ICorDebugInfo::REGNUM_AMBIENT_SP: return offsetof(T_CONTEXT, Sp); default: _ASSERTE(!"Bad regNum"); return (SIZE_T)(-1); } +#elif defined(_TARGET_ARM64_) + + switch(regNum) + { + case ICorDebugInfo::REGNUM_X0: return offsetof(T_CONTEXT, X0); + case ICorDebugInfo::REGNUM_X1: return offsetof(T_CONTEXT, X1); + case ICorDebugInfo::REGNUM_X2: return offsetof(T_CONTEXT, X2); + case ICorDebugInfo::REGNUM_X3: return offsetof(T_CONTEXT, X3); + case ICorDebugInfo::REGNUM_X4: return offsetof(T_CONTEXT, X4); + case ICorDebugInfo::REGNUM_X5: return offsetof(T_CONTEXT, X5); + case ICorDebugInfo::REGNUM_X6: return offsetof(T_CONTEXT, X6); + case ICorDebugInfo::REGNUM_X7: return offsetof(T_CONTEXT, X7); + case ICorDebugInfo::REGNUM_X8: return offsetof(T_CONTEXT, X8); + case ICorDebugInfo::REGNUM_X9: return offsetof(T_CONTEXT, X9); + case ICorDebugInfo::REGNUM_X10: return offsetof(T_CONTEXT, X10); + case ICorDebugInfo::REGNUM_X11: return offsetof(T_CONTEXT, X11); + case ICorDebugInfo::REGNUM_X12: return offsetof(T_CONTEXT, X12); + case ICorDebugInfo::REGNUM_X13: return offsetof(T_CONTEXT, X13); + case ICorDebugInfo::REGNUM_X14: return offsetof(T_CONTEXT, X14); + case ICorDebugInfo::REGNUM_X15: return offsetof(T_CONTEXT, X15); + case ICorDebugInfo::REGNUM_X16: return offsetof(T_CONTEXT, X16); + case ICorDebugInfo::REGNUM_X17: return offsetof(T_CONTEXT, X17); + case ICorDebugInfo::REGNUM_X18: return offsetof(T_CONTEXT, X18); + case ICorDebugInfo::REGNUM_X19: return offsetof(T_CONTEXT, X19); + case ICorDebugInfo::REGNUM_X20: return offsetof(T_CONTEXT, X20); + case ICorDebugInfo::REGNUM_X21: return offsetof(T_CONTEXT, X21); + case ICorDebugInfo::REGNUM_X22: return offsetof(T_CONTEXT, X22); + case ICorDebugInfo::REGNUM_X23: return offsetof(T_CONTEXT, X23); + case ICorDebugInfo::REGNUM_X24: return offsetof(T_CONTEXT, X24); + case ICorDebugInfo::REGNUM_X25: return offsetof(T_CONTEXT, X25); + case ICorDebugInfo::REGNUM_X26: return offsetof(T_CONTEXT, X26); + case ICorDebugInfo::REGNUM_X27: return offsetof(T_CONTEXT, X27); + case ICorDebugInfo::REGNUM_X28: return offsetof(T_CONTEXT, X28); + case ICorDebugInfo::REGNUM_FP: return offsetof(T_CONTEXT, Fp); + case ICorDebugInfo::REGNUM_LR: return offsetof(T_CONTEXT, Lr); + case ICorDebugInfo::REGNUM_SP: return offsetof(T_CONTEXT, Sp); + case ICorDebugInfo::REGNUM_PC: return offsetof(T_CONTEXT, Pc); + case ICorDebugInfo::REGNUM_AMBIENT_SP: return offsetof(T_CONTEXT, Sp); + default: _ASSERTE(!"Bad regNum"); return (SIZE_T)(-1); + } #else PORTABILITY_ASSERT("GetRegOffsInCONTEXT is not implemented on this platform."); return (SIZE_T) -1; |