Lines Matching refs:exception_header
53 thrown_object_from_cxa_exception(__cxa_exception* exception_header) in thrown_object_from_cxa_exception() argument
55 return static_cast<void*>(exception_header + 1); in thrown_object_from_cxa_exception()
135 …__cxa_exception* exception_header = cxa_exception_from_exception_unwind_exception(unwind_exception… in exception_cleanup_func() local
137 std::__terminate(exception_header->terminateHandler); in exception_cleanup_func()
143 static _LIBCXXABI_NORETURN void failed_throw(__cxa_exception* exception_header) { in failed_throw() argument
151 (void) __cxa_begin_catch(&exception_header->unwindHeader); in failed_throw()
152 std::__terminate(exception_header->terminateHandler); in failed_throw()
193 __cxa_exception *exception_header = in __cxa_allocate_exception() local
195 ::memset(exception_header, 0, actual_size); in __cxa_allocate_exception()
196 return thrown_object_from_cxa_exception(exception_header); in __cxa_allocate_exception()
259 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_throw() local
261 exception_header->unexpectedHandler = std::get_unexpected(); in __cxa_throw()
262 exception_header->terminateHandler = std::get_terminate(); in __cxa_throw()
263 exception_header->exceptionType = tinfo; in __cxa_throw()
264 exception_header->exceptionDestructor = dest; in __cxa_throw()
265 setOurExceptionClass(&exception_header->unwindHeader); in __cxa_throw()
266 …exception_header->referenceCount = 1; // This is a newly allocated exception, no need for thread … in __cxa_throw()
269 exception_header->unwindHeader.exception_cleanup = exception_cleanup_func; in __cxa_throw()
277 _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); in __cxa_throw()
279 _Unwind_RaiseException(&exception_header->unwindHeader); in __cxa_throw()
283 failed_throw(exception_header); in __cxa_throw()
313 __cxa_exception* exception_header = in __cxa_begin_cleanup() local
318 if (0 == exception_header->propagationCount) in __cxa_begin_cleanup()
320 exception_header->nextPropagatingException = globals->propagatingExceptions; in __cxa_begin_cleanup()
321 globals->propagatingExceptions = exception_header; in __cxa_begin_cleanup()
323 ++exception_header->propagationCount; in __cxa_begin_cleanup()
331 globals->propagatingExceptions = exception_header; in __cxa_begin_cleanup()
354 __cxa_exception* exception_header = globals->propagatingExceptions; in __cxa_end_cleanup_impl() local
355 if (NULL == exception_header) in __cxa_end_cleanup_impl()
362 if (__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_end_cleanup_impl()
364 --exception_header->propagationCount; in __cxa_end_cleanup_impl()
365 if (0 == exception_header->propagationCount) in __cxa_end_cleanup_impl()
367 globals->propagatingExceptions = exception_header->nextPropagatingException; in __cxa_end_cleanup_impl()
368 exception_header->nextPropagatingException = NULL; in __cxa_end_cleanup_impl()
375 return &exception_header->unwindHeader; in __cxa_end_cleanup_impl()
442 __cxa_exception* exception_header = in __cxa_begin_catch() local
458 exception_header->handlerCount = exception_header->handlerCount < 0 ? in __cxa_begin_catch()
459 -exception_header->handlerCount + 1 : exception_header->handlerCount + 1; in __cxa_begin_catch()
462 if (exception_header != globals->caughtExceptions) in __cxa_begin_catch()
464 exception_header->nextException = globals->caughtExceptions; in __cxa_begin_catch()
465 globals->caughtExceptions = exception_header; in __cxa_begin_catch()
469 return reinterpret_cast<void*>(exception_header->unwindHeader.barrier_cache.bitpattern[0]); in __cxa_begin_catch()
471 return exception_header->adjustedPtr; in __cxa_begin_catch()
479 globals->caughtExceptions = exception_header; in __cxa_begin_catch()
516 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_end_catch() local
520 if (NULL != exception_header) in __cxa_end_catch()
522 bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); in __cxa_end_catch()
526 if (exception_header->handlerCount < 0) in __cxa_end_catch()
529 if (0 == incrementHandlerCount(exception_header)) in __cxa_end_catch()
532 globals->caughtExceptions = exception_header->nextException; in __cxa_end_catch()
542 if (0 == decrementHandlerCount(exception_header)) in __cxa_end_catch()
545 globals->caughtExceptions = exception_header->nextException; in __cxa_end_catch()
548 if (isDependentException(&exception_header->unwindHeader)) in __cxa_end_catch()
552 reinterpret_cast<__cxa_dependent_exception*>(exception_header); in __cxa_end_catch()
553 exception_header = in __cxa_end_catch()
559 … __cxa_decrement_exception_refcount(thrown_object_from_cxa_exception(exception_header)); in __cxa_end_catch()
584 __cxa_exception *exception_header = globals->caughtExceptions; in __cxa_current_exception_type() local
585 if (NULL == exception_header) in __cxa_current_exception_type()
587 if (!__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_current_exception_type()
589 return exception_header->exceptionType; in __cxa_current_exception_type()
606 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_rethrow() local
607 if (NULL == exception_header) in __cxa_rethrow()
609 bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); in __cxa_rethrow()
613 exception_header->handlerCount = -exception_header->handlerCount; in __cxa_rethrow()
626 _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); in __cxa_rethrow()
628 _Unwind_RaiseException(&exception_header->unwindHeader); in __cxa_rethrow()
635 __cxa_begin_catch(&exception_header->unwindHeader); in __cxa_rethrow()
637 std::__terminate(exception_header->terminateHandler); in __cxa_rethrow()
653 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_increment_exception_refcount() local
654 std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(1)); in __cxa_increment_exception_refcount()
670 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_decrement_exception_refcount() local
671 if (std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(-1)) == 0) in __cxa_decrement_exception_refcount()
673 if (NULL != exception_header->exceptionDestructor) in __cxa_decrement_exception_refcount()
674 exception_header->exceptionDestructor(thrown_object); in __cxa_decrement_exception_refcount()
695 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_current_primary_exception() local
696 if (NULL == exception_header) in __cxa_current_primary_exception()
698 if (!__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_current_primary_exception()
700 if (isDependentException(&exception_header->unwindHeader)) { in __cxa_current_primary_exception()
702 reinterpret_cast<__cxa_dependent_exception*>(exception_header); in __cxa_current_primary_exception()
703 exception_header = cxa_exception_from_thrown_object(dep_exception_header->primaryException); in __cxa_current_primary_exception()
705 void* thrown_object = thrown_object_from_cxa_exception(exception_header); in __cxa_current_primary_exception()
739 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_rethrow_primary_exception() local
744 dep_exception_header->exceptionType = exception_header->exceptionType; in __cxa_rethrow_primary_exception()