• Home
  • Raw
  • Download

Lines Matching refs:exception_header

54 thrown_object_from_cxa_exception(__cxa_exception* exception_header)  in thrown_object_from_cxa_exception()  argument
56 return static_cast<void*>(exception_header + 1); in thrown_object_from_cxa_exception()
136 …__cxa_exception* exception_header = cxa_exception_from_exception_unwind_exception(unwind_exception… in exception_cleanup_func() local
138 std::__terminate(exception_header->terminateHandler); in exception_cleanup_func()
144 static _LIBCXXABI_NORETURN void failed_throw(__cxa_exception* exception_header) { in failed_throw() argument
152 (void) __cxa_begin_catch(&exception_header->unwindHeader); in failed_throw()
153 std::__terminate(exception_header->terminateHandler); in failed_throw()
195 __cxa_exception *exception_header = in __cxa_allocate_exception() local
197 std::memset(exception_header, 0, actual_size); in __cxa_allocate_exception()
198 return thrown_object_from_cxa_exception(exception_header); in __cxa_allocate_exception()
261 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_throw() local
263 exception_header->unexpectedHandler = std::get_unexpected(); in __cxa_throw()
264 exception_header->terminateHandler = std::get_terminate(); in __cxa_throw()
265 exception_header->exceptionType = tinfo; in __cxa_throw()
266 exception_header->exceptionDestructor = dest; in __cxa_throw()
267 setOurExceptionClass(&exception_header->unwindHeader); in __cxa_throw()
268exception_header->referenceCount = 1; // This is a newly allocated exception, no need for thread … in __cxa_throw()
271 exception_header->unwindHeader.exception_cleanup = exception_cleanup_func; in __cxa_throw()
279 _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); in __cxa_throw()
281 _Unwind_RaiseException(&exception_header->unwindHeader); in __cxa_throw()
285 failed_throw(exception_header); in __cxa_throw()
315 __cxa_exception* exception_header = in __cxa_begin_cleanup() local
320 if (0 == exception_header->propagationCount) in __cxa_begin_cleanup()
322 exception_header->nextPropagatingException = globals->propagatingExceptions; in __cxa_begin_cleanup()
323 globals->propagatingExceptions = exception_header; in __cxa_begin_cleanup()
325 ++exception_header->propagationCount; in __cxa_begin_cleanup()
333 globals->propagatingExceptions = exception_header; in __cxa_begin_cleanup()
353 __cxa_exception* exception_header = globals->propagatingExceptions; in __cxa_end_cleanup_impl() local
354 if (NULL == exception_header) in __cxa_end_cleanup_impl()
361 if (__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_end_cleanup_impl()
363 --exception_header->propagationCount; in __cxa_end_cleanup_impl()
364 if (0 == exception_header->propagationCount) in __cxa_end_cleanup_impl()
366 globals->propagatingExceptions = exception_header->nextPropagatingException; in __cxa_end_cleanup_impl()
367 exception_header->nextPropagatingException = NULL; in __cxa_end_cleanup_impl()
374 return &exception_header->unwindHeader; in __cxa_end_cleanup_impl()
431 __cxa_exception* exception_header = in __cxa_begin_catch() local
439 exception_header->handlerCount = exception_header->handlerCount < 0 ? in __cxa_begin_catch()
440 -exception_header->handlerCount + 1 : exception_header->handlerCount + 1; in __cxa_begin_catch()
443 if (exception_header != globals->caughtExceptions) in __cxa_begin_catch()
445 exception_header->nextException = globals->caughtExceptions; in __cxa_begin_catch()
446 globals->caughtExceptions = exception_header; in __cxa_begin_catch()
450 return reinterpret_cast<void*>(exception_header->unwindHeader.barrier_cache.bitpattern[0]); in __cxa_begin_catch()
452 return exception_header->adjustedPtr; in __cxa_begin_catch()
460 globals->caughtExceptions = exception_header; in __cxa_begin_catch()
497 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_end_catch() local
501 if (NULL != exception_header) in __cxa_end_catch()
503 bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); in __cxa_end_catch()
507 if (exception_header->handlerCount < 0) in __cxa_end_catch()
510 if (0 == incrementHandlerCount(exception_header)) in __cxa_end_catch()
513 globals->caughtExceptions = exception_header->nextException; in __cxa_end_catch()
523 if (0 == decrementHandlerCount(exception_header)) in __cxa_end_catch()
526 globals->caughtExceptions = exception_header->nextException; in __cxa_end_catch()
529 if (isDependentException(&exception_header->unwindHeader)) in __cxa_end_catch()
533 reinterpret_cast<__cxa_dependent_exception*>(exception_header); in __cxa_end_catch()
534 exception_header = in __cxa_end_catch()
540 … __cxa_decrement_exception_refcount(thrown_object_from_cxa_exception(exception_header)); in __cxa_end_catch()
565 __cxa_exception *exception_header = globals->caughtExceptions; in __cxa_current_exception_type() local
566 if (NULL == exception_header) in __cxa_current_exception_type()
568 if (!__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_current_exception_type()
570 return exception_header->exceptionType; in __cxa_current_exception_type()
587 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_rethrow() local
588 if (NULL == exception_header) in __cxa_rethrow()
590 bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); in __cxa_rethrow()
594 exception_header->handlerCount = -exception_header->handlerCount; in __cxa_rethrow()
607 _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); in __cxa_rethrow()
609 _Unwind_RaiseException(&exception_header->unwindHeader); in __cxa_rethrow()
616 __cxa_begin_catch(&exception_header->unwindHeader); in __cxa_rethrow()
618 std::__terminate(exception_header->terminateHandler); in __cxa_rethrow()
634 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_increment_exception_refcount() local
635 std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(1)); in __cxa_increment_exception_refcount()
651 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_decrement_exception_refcount() local
652 if (std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(-1)) == 0) in __cxa_decrement_exception_refcount()
654 if (NULL != exception_header->exceptionDestructor) in __cxa_decrement_exception_refcount()
655 exception_header->exceptionDestructor(thrown_object); in __cxa_decrement_exception_refcount()
676 __cxa_exception* exception_header = globals->caughtExceptions; in __cxa_current_primary_exception() local
677 if (NULL == exception_header) in __cxa_current_primary_exception()
679 if (!__isOurExceptionClass(&exception_header->unwindHeader)) in __cxa_current_primary_exception()
681 if (isDependentException(&exception_header->unwindHeader)) { in __cxa_current_primary_exception()
683 reinterpret_cast<__cxa_dependent_exception*>(exception_header); in __cxa_current_primary_exception()
684 exception_header = cxa_exception_from_thrown_object(dep_exception_header->primaryException); in __cxa_current_primary_exception()
686 void* thrown_object = thrown_object_from_cxa_exception(exception_header); in __cxa_current_primary_exception()
720 __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object); in __cxa_rethrow_primary_exception() local
725 dep_exception_header->exceptionType = exception_header->exceptionType; in __cxa_rethrow_primary_exception()