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