Lines Matching defs:regNum
691 bool UnwindCursor<A, R>::validReg(int regNum) {
692 if (regNum == UNW_REG_IP || regNum == UNW_REG_SP) return true;
694 if (regNum >= UNW_X86_64_RAX && regNum <= UNW_X86_64_RIP) return true;
696 if ((regNum >= UNW_ARM_R0 && regNum <= UNW_ARM_R15) ||
697 regNum == UNW_ARM_RA_AUTH_CODE)
700 if (regNum >= UNW_AARCH64_X0 && regNum <= UNW_ARM64_X30) return true;
706 unw_word_t UnwindCursor<A, R>::getReg(int regNum) {
707 switch (regNum) {
750 default: return _msContext.X[regNum - UNW_AARCH64_X0];
757 void UnwindCursor<A, R>::setReg(int regNum, unw_word_t value) {
758 switch (regNum) {
831 case UNW_AARCH64_LR: _msContext.X[regNum - UNW_ARM64_X0] = value; break;
839 bool UnwindCursor<A, R>::validFloatReg(int regNum) {
841 if (regNum >= UNW_ARM_S0 && regNum <= UNW_ARM_S31) return true;
842 if (regNum >= UNW_ARM_D0 && regNum <= UNW_ARM_D31) return true;
844 if (regNum >= UNW_AARCH64_V0 && regNum <= UNW_ARM64_D31) return true;
846 (void)regNum;
852 unw_fpreg_t UnwindCursor<A, R>::getFloatReg(int regNum) {
854 if (regNum >= UNW_ARM_S0 && regNum <= UNW_ARM_S31) {
859 d.w = _msContext.S[regNum - UNW_ARM_S0];
862 if (regNum >= UNW_ARM_D0 && regNum <= UNW_ARM_D31) {
867 d.w = _msContext.D[regNum - UNW_ARM_D0];
872 return _msContext.V[regNum - UNW_AARCH64_V0].D[0];
874 (void)regNum;
880 void UnwindCursor<A, R>::setFloatReg(int regNum, unw_fpreg_t value) {
882 if (regNum >= UNW_ARM_S0 && regNum <= UNW_ARM_S31) {
888 _msContext.S[regNum - UNW_ARM_S0] = d.w;
890 if (regNum >= UNW_ARM_D0 && regNum <= UNW_ARM_D31) {
896 _msContext.D[regNum - UNW_ARM_D0] = d.w;
900 _msContext.V[regNum - UNW_AARCH64_V0].D[0] = value;
902 (void)regNum;
917 const char *UnwindCursor<A, R>::getRegisterName(int regNum) {
918 return R::getRegisterName(regNum);
1343 bool UnwindCursor<A, R>::validReg(int regNum) {
1344 return _registers.validRegister(regNum);
1348 unw_word_t UnwindCursor<A, R>::getReg(int regNum) {
1349 return _registers.getRegister(regNum);
1353 void UnwindCursor<A, R>::setReg(int regNum, unw_word_t value) {
1354 _registers.setRegister(regNum, (typename A::pint_t)value);
1358 bool UnwindCursor<A, R>::validFloatReg(int regNum) {
1359 return _registers.validFloatRegister(regNum);
1363 unw_fpreg_t UnwindCursor<A, R>::getFloatReg(int regNum) {
1364 return _registers.getFloatRegister(regNum);
1368 void UnwindCursor<A, R>::setFloatReg(int regNum, unw_fpreg_t value) {
1369 _registers.setFloatRegister(regNum, value);
1390 const char *UnwindCursor<A, R>::getRegisterName(int regNum) {
1391 return _registers.getRegisterName(regNum);