Lines Matching refs:cursor
29 static _Unwind_Reason_Code unwind_phase1(ThisUnwindCursor &cursor, in unwind_phase1() argument
31 cursor.setInfoBasedOnIPRegister(); in unwind_phase1()
37 switch (cursor.step()) { in unwind_phase1()
48 cursor.getInfo(&frameInfo); in unwind_phase1()
57 exc, (struct _Unwind_Context *)(&cursor)); in unwind_phase1()
64 exc->private_2 = cursor.getSP(); in unwind_phase1()
78 static _Unwind_Reason_Code unwind_phase2(ThisUnwindCursor &cursor, in unwind_phase2() argument
80 cursor.setInfoBasedOnIPRegister(); in unwind_phase2()
86 switch (cursor.step()) { in unwind_phase2()
96 cursor.getInfo(&frameInfo); in unwind_phase2()
103 uintptr_t sp = cursor.getSP(); in unwind_phase2()
112 (struct _Unwind_Context *)(&cursor)); in unwind_phase2()
121 cursor.jumpto(); in unwind_phase2()
130 static _Unwind_Reason_Code unwind_phase2_forced(ThisUnwindCursor &cursor, in unwind_phase2_forced() argument
135 cursor.setInfoBasedOnIPRegister(); in unwind_phase2_forced()
141 switch (cursor.step()) { in unwind_phase2_forced()
149 (struct _Unwind_Context *)(&cursor), stop_arg); in unwind_phase2_forced()
159 cursor.getInfo(&frameInfo); in unwind_phase2_forced()
167 (struct _Unwind_Context *)(&cursor), stop_arg); in unwind_phase2_forced()
176 (struct _Unwind_Context *)(&cursor)); in unwind_phase2_forced()
184 cursor.jumpto(); in unwind_phase2_forced()
214 ThisUnwindCursor cursor(registers, sThisAddressSpace); in _Unwind_ForcedUnwind() local
220 return unwind_phase2_forced(cursor, exc, stop, stop_arg); in _Unwind_ForcedUnwind()
225 ThisUnwindCursor cursor(registers, sThisAddressSpace); in _Unwind_Resume() local
228 unwind_phase2_forced(cursor, exc, (_Unwind_Stop_Fn)exc->private_1, in _Unwind_Resume()
231 unwind_phase2(cursor, exc); in _Unwind_Resume()
255 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetGR() local
256 return cursor->getReg(index); in _Unwind_GetGR()
261 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_SetGR() local
262 cursor->setReg(index, new_value); in _Unwind_SetGR()
266 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetIP() local
267 return cursor->getIP(); in _Unwind_GetIP()
271 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetIPInfo() local
272 *isSignalFrame = cursor->isSignalFrame() ? 1 : 0; in _Unwind_GetIPInfo()
273 return cursor->getIP(); in _Unwind_GetIPInfo()
277 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_SetIP() local
278 cursor->setIP(new_value); in _Unwind_SetIP()
280 cursor->getInfo(&info); in _Unwind_SetIP()
281 cursor->setInfoBasedOnIPRegister(false); in _Unwind_SetIP()
283 cursor->setSP(cursor->getSP() + info.extra_args); in _Unwind_SetIP()
287 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetRegionStart() local
289 cursor->getInfo(&frameInfo); in _Unwind_GetRegionStart()
294 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetLanguageSpecificData() local
296 cursor->getInfo(&frameInfo); in _Unwind_GetLanguageSpecificData()
302 ThisUnwindCursor cursor(registers, sThisAddressSpace); in _Unwind_Backtrace() local
303 cursor.setInfoBasedOnIPRegister(); in _Unwind_Backtrace()
310 if (cursor.step() != UNW_STEP_SUCCESS) in _Unwind_Backtrace()
315 (*callback)((struct _Unwind_Context *)(&cursor), ref); in _Unwind_Backtrace()
322 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetCFA() local
323 return cursor->getSP(); in _Unwind_GetCFA()
328 ThisUnwindCursor cursor(registers, sThisAddressSpace); in _Unwind_FindEnclosingFunction() local
331 cursor.setIP((uintptr_t)pc); in _Unwind_FindEnclosingFunction()
332 cursor.setInfoBasedOnIPRegister(); in _Unwind_FindEnclosingFunction()
334 cursor.getInfo(&info); in _Unwind_FindEnclosingFunction()
340 ThisUnwindCursor cursor(registers, sThisAddressSpace); in _Unwind_Find_FDE() local
343 cursor.setIP((uintptr_t)pc); in _Unwind_Find_FDE()
344 cursor.setInfoBasedOnIPRegister(); in _Unwind_Find_FDE()
346 cursor.getInfo(&info); in _Unwind_Find_FDE()
356 ThisUnwindCursor *cursor = (ThisUnwindCursor *)context; in _Unwind_GetDataRelBase() local
358 cursor->getInfo(&frameInfo); in _Unwind_GetDataRelBase()