in Crashlytics/Crashlytics/Unwind/FIRCLSUnwind_arm.c [118:191]
uintptr_t FIRCLSDwarfUnwindGetRegisterValue(const FIRCLSThreadContext* registers, uint64_t num) {
switch (num) {
case CLS_DWARF_ARM64_X0:
return registers->__ss.__x[0];
case CLS_DWARF_ARM64_X1:
return registers->__ss.__x[1];
case CLS_DWARF_ARM64_X2:
return registers->__ss.__x[2];
case CLS_DWARF_ARM64_X3:
return registers->__ss.__x[3];
case CLS_DWARF_ARM64_X4:
return registers->__ss.__x[4];
case CLS_DWARF_ARM64_X5:
return registers->__ss.__x[5];
case CLS_DWARF_ARM64_X6:
return registers->__ss.__x[6];
case CLS_DWARF_ARM64_X7:
return registers->__ss.__x[7];
case CLS_DWARF_ARM64_X8:
return registers->__ss.__x[8];
case CLS_DWARF_ARM64_X9:
return registers->__ss.__x[9];
case CLS_DWARF_ARM64_X10:
return registers->__ss.__x[10];
case CLS_DWARF_ARM64_X11:
return registers->__ss.__x[11];
case CLS_DWARF_ARM64_X12:
return registers->__ss.__x[12];
case CLS_DWARF_ARM64_X13:
return registers->__ss.__x[13];
case CLS_DWARF_ARM64_X14:
return registers->__ss.__x[14];
case CLS_DWARF_ARM64_X15:
return registers->__ss.__x[15];
case CLS_DWARF_ARM64_X16:
return registers->__ss.__x[16];
case CLS_DWARF_ARM64_X17:
return registers->__ss.__x[17];
case CLS_DWARF_ARM64_X18:
return registers->__ss.__x[18];
case CLS_DWARF_ARM64_X19:
return registers->__ss.__x[19];
case CLS_DWARF_ARM64_X20:
return registers->__ss.__x[20];
case CLS_DWARF_ARM64_X21:
return registers->__ss.__x[21];
case CLS_DWARF_ARM64_X22:
return registers->__ss.__x[22];
case CLS_DWARF_ARM64_X23:
return registers->__ss.__x[23];
case CLS_DWARF_ARM64_X24:
return registers->__ss.__x[24];
case CLS_DWARF_ARM64_X25:
return registers->__ss.__x[25];
case CLS_DWARF_ARM64_X26:
return registers->__ss.__x[26];
case CLS_DWARF_ARM64_X27:
return registers->__ss.__x[27];
case CLS_DWARF_ARM64_X28:
return registers->__ss.__x[28];
case CLS_DWARF_ARM64_FP:
return FIRCLSThreadContextGetFramePointer(registers);
case CLS_DWARF_ARM64_LR:
return FIRCLSThreadContextGetLinkRegister(registers);
case CLS_DWARF_ARM64_SP:
return FIRCLSThreadContextGetStackPointer(registers);
default:
break;
}
FIRCLSSDKLog("Error: Unrecognized get register number %llu\n", num);
return 0;
}