Lines Matching refs:pending
765 report_pending(int action, int pending, void *value) in report_pending() argument
786 switch (pending) in report_pending()
806 if (pending & CSTP_THROW) in report_pending()
813 else if ((pending & CSTP_ERROR) && (pending & CSTP_INTERRUPT)) in report_pending()
815 else if (pending & CSTP_ERROR) in report_pending()
833 if (pending == CSTP_RETURN) in report_pending()
835 else if (pending & CSTP_THROW) in report_pending()
844 report_make_pending(int pending, void *value) in report_make_pending() argument
850 report_pending(RP_MAKE, pending, value); in report_make_pending()
861 report_resume_pending(int pending, void *value) in report_resume_pending() argument
867 report_pending(RP_RESUME, pending, value); in report_resume_pending()
878 report_discard_pending(int pending, void *value) in report_discard_pending() argument
884 report_pending(RP_DISCARD, pending, value); in report_discard_pending()
1852 int pending = CSTP_NONE; in ex_finally() local
1871 pending = CSTP_ERROR; in ex_finally()
1934 if (pending == CSTP_ERROR || did_emsg || got_int || did_throw) in ex_finally()
1942 if (pending == CSTP_ERROR && !did_emsg) in ex_finally()
1943 pending |= (THROW_ON_ERROR) ? CSTP_THROW : 0; in ex_finally()
1945 pending |= did_throw ? CSTP_THROW : 0; in ex_finally()
1946 pending |= did_emsg ? CSTP_ERROR : 0; in ex_finally()
1947 pending |= got_int ? CSTP_INTERRUPT : 0; in ex_finally()
1948 cstack->cs_pending[cstack->cs_idx] = pending; in ex_finally()
1983 int pending = CSTP_NONE; in ex_endtry() local
2093 pending = cstack->cs_pending[idx]; in ex_endtry()
2095 if (pending == CSTP_RETURN) in ex_endtry()
2097 else if (pending & CSTP_THROW) in ex_endtry()
2120 report_resume_pending(pending, in ex_endtry()
2121 (pending == CSTP_RETURN) ? rettv : in ex_endtry()
2122 (pending & CSTP_THROW) ? (void *)current_exception : NULL); in ex_endtry()
2123 switch (pending) in ex_endtry()
2155 if (pending & CSTP_ERROR) in ex_endtry()
2157 if (pending & CSTP_INTERRUPT) in ex_endtry()
2159 if (pending & CSTP_THROW) in ex_endtry()
2195 int pending = CSTP_NONE; in enter_cleanup() local
2204 csp->pending = (did_emsg ? CSTP_ERROR : 0) in enter_cleanup()
2232 report_make_pending(pending, csp->exception); in enter_cleanup()
2236 csp->pending = CSTP_NONE; in enter_cleanup()
2259 int pending = csp->pending; in leave_cleanup() local
2261 if (pending == CSTP_NONE) // nothing to do in leave_cleanup()
2270 if (pending & CSTP_THROW) in leave_cleanup()
2274 report_discard_pending(pending, NULL); in leave_cleanup()
2294 if (pending & CSTP_THROW) in leave_cleanup()
2302 else if (pending & CSTP_ERROR) in leave_cleanup()
2311 if (pending & CSTP_ERROR) in leave_cleanup()
2313 if (pending & CSTP_INTERRUPT) in leave_cleanup()
2315 if (pending & CSTP_THROW) in leave_cleanup()
2319 report_resume_pending(pending, in leave_cleanup()
2320 (pending & CSTP_THROW) ? (void *)current_exception : NULL); in leave_cleanup()