Lines Matching +full:lock +full:- +full:step
1 //===----------------------------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
10 //===----------------------------------------------------------------------===//
20 // that we can later check for the presence of ASan in a compiler-neutral way.
91 co->setInfoBasedOnIPRegister(); in __unw_init_local()
104 if (co->validReg(regNum)) { in _LIBUNWIND_WEAK_ALIAS()
105 *value = co->getReg(regNum); in _LIBUNWIND_WEAK_ALIAS()
120 if (co->validReg(regNum)) { in _LIBUNWIND_WEAK_ALIAS()
121 co->setReg(regNum, (pint_t)value); in _LIBUNWIND_WEAK_ALIAS()
122 // special case altering IP to re-find info (being called by personality in _LIBUNWIND_WEAK_ALIAS()
127 co->getInfo(&info); in _LIBUNWIND_WEAK_ALIAS()
128 co->setInfoBasedOnIPRegister(false); in _LIBUNWIND_WEAK_ALIAS()
132 // Note: for PA-RISC and other platforms where the stack grows up, in _LIBUNWIND_WEAK_ALIAS()
133 // this should actually be - info.gp. LLVM doesn't currently support in _LIBUNWIND_WEAK_ALIAS()
136 co->setReg(UNW_REG_SP, co->getReg(UNW_REG_SP) + info.gp); in _LIBUNWIND_WEAK_ALIAS()
151 if (co->validFloatReg(regNum)) { in _LIBUNWIND_WEAK_ALIAS()
152 *value = co->getFloatReg(regNum); in _LIBUNWIND_WEAK_ALIAS()
170 if (co->validFloatReg(regNum)) { in _LIBUNWIND_WEAK_ALIAS()
171 co->setFloatReg(regNum, value); in _LIBUNWIND_WEAK_ALIAS()
182 return co->step(); in _LIBUNWIND_WEAK_ALIAS()
192 return co->step(true); in _LIBUNWIND_WEAK_ALIAS()
201 co->getInfo(info); in __unw_get_proc_info()
202 if (info->end_ip == 0) in __unw_get_proc_info()
216 co->jumpto(); in _LIBUNWIND_WEAK_ALIAS()
228 if (co->getFunctionName(buf, bufLen, offset)) in _LIBUNWIND_WEAK_ALIAS()
234 /// Checks if a register is a floating-point register. in _LIBUNWIND_WEAK_ALIAS()
240 return co->validFloatReg(regNum); in _LIBUNWIND_WEAK_ALIAS()
244 /// Checks if a register is a floating-point register. in _LIBUNWIND_WEAK_ALIAS()
250 return co->getRegisterName(regNum); in _LIBUNWIND_WEAK_ALIAS()
259 return co->isSignalFrame(); in _LIBUNWIND_WEAK_ALIAS()
268 return co->getDataRelBase(); in _LIBUNWIND_WEAK_ALIAS()
274 // Save VFP registers d0-d15 using FSTMIADX instead of FSTMIADD in _LIBUNWIND_WEAK_ALIAS()
279 return co->saveVFPAsX(); in _LIBUNWIND_WEAK_ALIAS()
380 findDynamicUnwindSectionsLock.lock(); in __unw_add_find_dynamic_unwind_sections()
396 // Success -- add callback entry. in __unw_add_find_dynamic_unwind_sections()
406 findDynamicUnwindSectionsLock.lock(); in __unw_remove_find_dynamic_unwind_sections()
424 for (size_t i = finderIdx; i != numDynamicUnwindSectionsFinders - 1; ++i) in __unw_remove_find_dynamic_unwind_sections()
426 dynamicUnwindSectionsFinders[--numDynamicUnwindSectionsFinders] = nullptr; in __unw_remove_find_dynamic_unwind_sections()
440 // do manual lock to avoid use of _cxa_guard_acquire or initializers in logAPIs()
452 // do manual lock to avoid use of _cxa_guard_acquire or initializers in logUnwinding()
464 // do manual lock to avoid use of _cxa_guard_acquire or initializers in logDWARF()