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()
351 __cxa_exception* exception_header = globals->propagatingExceptions; in __cxa_end_cleanup_impl() local
352 if (NULL == exception_header) in __cxa_end_cleanup_impl()
359 if (__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_end_cleanup_impl()
361 --exception_header->propagationCount; in __cxa_end_cleanup_impl()
362 if (0 == exception_header->propagationCount) in __cxa_end_cleanup_impl()
364 globals->propagatingExceptions = exception_header->nextPropagatingException; in __cxa_end_cleanup_impl()
365 exception_header->nextPropagatingException = NULL; in __cxa_end_cleanup_impl()
372 return &exception_header->unwindHeader; in __cxa_end_cleanup_impl()
429 __cxa_exception* exception_header = in __cxa_begin_catch() local
437 exception_header->handlerCount = exception_header->handlerCount < 0 ? in __cxa_begin_catch()
438 -exception_header->handlerCount + 1 : exception_header->handlerCount + 1; in __cxa_begin_catch()
441 if (exception_header != globals->caughtExceptions) in __cxa_begin_catch()
443 exception_header->nextException = globals->caughtExceptions; in __cxa_begin_catch()
444 globals->caughtExceptions = exception_header; in __cxa_begin_catch()
448 return reinterpret_cast<void*>(exception_header->unwindHeader.barrier_cache.bitpattern[0]); in __cxa_begin_catch()
450 return exception_header->adjustedPtr; in __cxa_begin_catch()
458 globals->caughtExceptions = exception_header; in __cxa_begin_catch()
495 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_end_catch() local
499 if (NULL != exception_header) in __cxa_end_catch()
501 bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); in __cxa_end_catch()
505 if (exception_header->handlerCount < 0) in __cxa_end_catch()
508 if (0 == incrementHandlerCount(exception_header)) in __cxa_end_catch()
511 globals->caughtExceptions = exception_header->nextException; in __cxa_end_catch()
521 if (0 == decrementHandlerCount(exception_header)) in __cxa_end_catch()
524 globals->caughtExceptions = exception_header->nextException; in __cxa_end_catch()
527 if (isDependentException(&exception_header->unwindHeader)) in __cxa_end_catch()
531 reinterpret_cast<__cxa_dependent_exception*>(exception_header); in __cxa_end_catch()
532 exception_header = in __cxa_end_catch()
538 … __cxa_decrement_exception_refcount(thrown_object_from_cxa_exception(exception_header)); in __cxa_end_catch()
563 __cxa_exception *exception_header = globals->caughtExceptions; in __cxa_current_exception_type() local
564 if (NULL == exception_header) in __cxa_current_exception_type()
566 if (!__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_current_exception_type()
568 return exception_header->exceptionType; in __cxa_current_exception_type()
585 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_rethrow() local
586 if (NULL == exception_header) in __cxa_rethrow()
588 bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); in __cxa_rethrow()
592 exception_header->handlerCount = -exception_header->handlerCount; in __cxa_rethrow()
605 _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); in __cxa_rethrow()
607 _Unwind_RaiseException(&exception_header->unwindHeader); in __cxa_rethrow()
614 __cxa_begin_catch(&exception_header->unwindHeader); in __cxa_rethrow()
616 std::__terminate(exception_header->terminateHandler); in __cxa_rethrow()
632 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_increment_exception_refcount() local
633 std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(1)); in __cxa_increment_exception_refcount()
649 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_decrement_exception_refcount() local
650 if (std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(-1)) == 0) in __cxa_decrement_exception_refcount()
652 if (NULL != exception_header->exceptionDestructor) in __cxa_decrement_exception_refcount()
653 exception_header->exceptionDestructor(thrown_object); in __cxa_decrement_exception_refcount()
674 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_current_primary_exception() local
675 if (NULL == exception_header) in __cxa_current_primary_exception()
677 if (!__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_current_primary_exception()
679 if (isDependentException(&exception_header->unwindHeader)) { in __cxa_current_primary_exception()
681 reinterpret_cast<__cxa_dependent_exception*>(exception_header); in __cxa_current_primary_exception()
682 exception_header = cxa_exception_from_thrown_object(dep_exception_header->primaryException); in __cxa_current_primary_exception()
684 void* thrown_object = thrown_object_from_cxa_exception(exception_header); in __cxa_current_primary_exception()
718 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_rethrow_primary_exception() local
723 dep_exception_header->exceptionType = exception_header->exceptionType; in __cxa_rethrow_primary_exception()