summaryrefslogtreecommitdiff
path: root/src/vm/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/util.cpp')
-rw-r--r--src/vm/util.cpp40
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;