Namespaces

Enumerations

enum AssumeAccess
Name Value
kUnknown 0
kAligned 1

Defined at line 41 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/common.h

enum BlockOp
Name Value
kFull 0
kByWord 1

Defined at line 42 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/common.h

enum Arg
Name Value
P1 0
P2 1
Dst P1
Src P2

An enum class that discriminates between the first and second pointer.

Defined at line 327 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

Records

Functions

  • int __pthread_attr_init_impl__ (pthread_attr_t * )

    Defined at line 12 of file ../../sdk/lib/c/pthread/pthread_attr_init.cc

  • int __pthread_detach_impl__ (pthread_t )

    Defined at line 12 of file ../../sdk/lib/c/pthread/pthread_detach.cc

  • void __pthread_exit_impl__ (void * )

    Defined at line 12 of file ../../sdk/lib/c/pthread/pthread_exit.cc

  • int __thrd_create_impl__ (thrd_t * , thrd_start_t , void * )

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_create.cc

  • int __thrd_create_with_name_impl__ (thrd_t * , thrd_start_t , void * , const char * )

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_create_with_name.cc

  • int __thrd_detach_impl__ (thrd_t )

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_detach.cc

  • void __thrd_exit_impl__ (int )

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_exit.cc

  • int __thrd_join_impl__ (thrd_t , int * )

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_join.cc

  • int __pthread_create_impl__ (pthread_t *__restrict , const pthread_attr_t *__restrict , __pthread_start_t , void * )

    Defined at line 13 of file ../../sdk/lib/c/pthread/pthread_create.cc

  • void __abort_impl__ ()

    Defined at line 13 of file ../../sdk/lib/c/stdlib/abort.cc

  • int thrd_create_with_name (thrd_t * thread, thrd_start_t func, void * arg, const char * name)

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_create_with_name.cc

  • int __pthread_join_impl__ (pthread_t , void ** )

    Defined at line 14 of file ../../sdk/lib/c/pthread/pthread_join.cc

  • void __exit_impl__ (int )

    Defined at line 15 of file ../../sdk/lib/c/stdlib/exit.cc

  • int __pthread_getname_np_impl__ (pthread_t , char * , size_t )

    Defined at line 16 of file ../../sdk/lib/c/pthread/pthread_getname_np.cc

  • int __pthread_setname_np_impl__ (pthread_t , const char * )

    Defined at line 16 of file ../../sdk/lib/c/pthread/pthread_setname_np.cc

  • void abort ()

    Defined at line 13 of file ../../sdk/lib/c/stdlib/abort.cc

  • void exit (int status)

    Defined at line 15 of file ../../sdk/lib/c/stdlib/exit.cc

  • int pthread_attr_init (pthread_attr_t * attr)

    Defined at line 12 of file ../../sdk/lib/c/pthread/pthread_attr_init.cc

  • int pthread_detach (pthread_t thread)

    Defined at line 12 of file ../../sdk/lib/c/pthread/pthread_detach.cc

  • void pthread_exit (void * retval)

    Defined at line 12 of file ../../sdk/lib/c/pthread/pthread_exit.cc

  • int pthread_join (pthread_t thread, void ** retval)

    Defined at line 14 of file ../../sdk/lib/c/pthread/pthread_join.cc

  • int pthread_setname_np (pthread_t , const char * name)

    Defined at line 16 of file ../../sdk/lib/c/pthread/pthread_setname_np.cc

  • int thrd_create (thrd_t * thread, thrd_start_t func, void * arg)

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_create.cc

  • int thrd_detach (thrd_t thread)

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_detach.cc

  • void thrd_exit (int retval)

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_exit.cc

  • int thrd_join (thrd_t thread, int * retval)

    Defined at line 12 of file ../../sdk/lib/c/threads/thrd_join.cc

  • pthread_attr_t ToPthreadAttr (ThreadAttributes attr)

    Defined at line 12 of file ../../sdk/lib/c/pthread/attr.h

  • int pthread_create (pthread_t *__restrict thread, const pthread_attr_t *__restrict attr, __pthread_start_t func, void * arg)

    Defined at line 13 of file ../../sdk/lib/c/pthread/pthread_create.cc

  • ThreadAttributes FromPthreadAttr (const pthread_attr_t * attr)

    Defined at line 20 of file ../../sdk/lib/c/pthread/attr.h

  • zx::unowned_vmar AllocationVmar ()

    This is the VMAR to be used for general data allocations and mappings.

    **Note:** It should not be presumed to permit executable mappings.

    Defined at line 24 of file ../../sdk/lib/c/zircon/vmar.h

  • int dl_iterate_phdr (__dl_iterate_phdr_callback_t , void * )
  • int pthread_getname_np (pthread_t , char * , size_t )

    Defined at line 16 of file ../../sdk/lib/c/pthread/pthread_getname_np.cc

  • cpp::string_view get_error_string (int err_num)
  • cpp::string_view get_error_string (int err_num, cpp::span<char> buffer)
  • PageRoundedSize InitialStackSize ()

    Get the stack size indicated by the executable's PT_GNU_STACK, or default.

    This must use only the basic machine ABI because it's called in phase one

    from StartCompilerAbi (startup-trampoline.h).

    Defined at line 11 of file ../../sdk/lib/c/ld/initial-stack-size.cc

  • void _dlfcn_lock ()

    The libdl entrypoints do their own locking for the most part. But in some

    places libc needs to exclude libdl (dlopen) changes while doing other things

    before or after it calls into a _dlfcn_* hook to have libdl do something.

  • void _dlfcn_unlock ()
  • void StartupSanitizerModuleLoaded ()

    This calls the

    <zircon

    /sanitizer.h> __sanitizer_module_loaded hook for every

    module dl_iterate_phdr would report. This is called in phase two before

    calling the __sanitizer_startup_hook.

    Defined at line 11 of file ../../sdk/lib/c/ld/musl-ctors.cc

  • void __libc_start_main (zx_handle_t bootstrap_client_end, const void * vdso, zx_handle_t svc_server_end, MainFunction * )

    This is the ABI between the _start (Scrt1.o) code linked into each

    executable and libc, whether libc is linked in statically or dynamically.

    This is implemented in assembly (startup-trampoline.S) and is wholly

    independent of the bootstrap protocol details. It is entered using the

    basic machine ABI and calls StartCompilerAbi (below), but then acts as a

    tail call to the namespaced __libc_start_main (declared in start-main.h).

    Both functions have the same name in the source and thus as rendered in

    backtraces with debugging symbols so that, at least by plain function name,

    every point in startup should show _start -> __libc_start_main -> ... in a

    backtrace whether in the initial phase or when -> ... is -> main -> ...

    NOLINTNEXTLINE(bugprone-reserved-identifier)

  • void StartupCtors ()

    This calls all the static constructors and such encoded via ELF. This is

    the end of phase two, the point at which the full normal standard C runtime

    environment is entirely place: it comes after all sanitizer hooks; the

    libc-internal (and fdio) setup and preinit hooks; and very shortly before

    calling the user's `main` (final argument to __libc_start_main)

    Defined at line 13 of file ../../sdk/lib/c/ld/musl-ctors.cc

  • ld::DlPhdrInfoCounts _dlfcn_phdr_info_counts ()

    This returns the .dlpi_adds, .dlpi_subs values that dl_iterate_phdr will use

    in the callbacks it makes for startup modules. If it's undefined, values

    ld::DlPhdrInfoInitialExecCounts(_ld_abi) are used. Note that there is no

    synchronization intended between collecting these values and the eventual

    call to _dlfcn_iterate_phdr (see below). If there are intervening dlopen or

    dlclose calls that change the values that _dlfcn_iterate_phdr will later

    give to its callbacks from the ones returned here, so be it. Note that

    after this returns, _dlfcn_iterate_phdr will not necessarily be called at

    all (if the user's callback bailed out early).

  • int _dlfcn_iterate_phdr (__dl_iterate_phdr_callback_t , void * )

    This has the exact signature and semantics of dl_iterate_phdr, except that

    it's only called after all the startup modules have been reported to the

    user's callback. If the user's callback bailed out with a nonzero return

    value, this will never be called. If this is called at all, then it's

    paired with the preceding _dlfcn_phdr_info_counts() call on the same thread.

    This is tail-called by libc's dl_iterate_phdr after reporting the startup

    modules. If it's undefined, dl_iterate_phdr just returns zero instead.

  • void ThreadExit (intptr_t value)

    This does the final "normal" work on the exiting thread: running

    destructors, etc. This is reached either directly from a call to

    thrd_exit() or pthread_exit(), or from a thread function returning.

    Defined at line 17 of file ../../sdk/lib/c/threads/thread-exit.cc

  • zx::result<intptr_t> ThreadJoin (Thread & thread)

    This underlies thrd_join() and pthread_join(). It yields the value passed

    to ThreadExit().

    Defined at line 19 of file ../../sdk/lib/c/threads/thread-join.cc

  • zx::result<> ThreadDetach (Thread & thread)

    This underlies thrd_detach() and pthread_detach(). As soon as it returns

    success, the Thread reference is no longer safe to use in any way because

    the thread can exit and free the storage itself at any time.

    Defined at line 17 of file ../../sdk/lib/c/threads/thread-detach.cc

  • void OnTlsSegments (Thread & thread, sanitizer_memory_snapshot_callback_t * callback, void * callback_arg)

    Make the callback on the thread's TLS segments.

    Defined at line 10 of file ../../sdk/lib/c/threads/musl-on-tls-segments.cc

  • bool operator== (Sign a, Sign b)

    Defined at line 21 of file ../../third_party/llvm-libc/src/src/__support/sign.h

  • void WritableSegmentsMemorySnapshot (sanitizer_memory_snapshot_callback_t * , void * )

    Make callbacks on behalf of __sanitizer_memory_snapshot for the writable

    segments of every module. This is run when all other threads were

    previously suspended while holding the kDlfcnLock; but it's no longer held.

    All other threads remain suspended during this call. (So it's as if the

    lock _were_ held in that no other thread will contend for it.) Thus this

    function can safely take locks but also can probably safely ignore locking.

    Defined at line 21 of file ../../sdk/lib/c/ld/_dl_phdr_report_globals.cc

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_trailing_ones ()

    Create a bitmask with the count right-most bits set to 1, and all other bits

    set to 0. Only unsigned types are allowed.

    Defined at line 24 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_trailing_ones ()

    Create a bitmask with the count right-most bits set to 1, and all other bits

    set to 0. Only unsigned types are allowed.

    Defined at line 24 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • bool operator!= (Sign a, Sign b)

    Defined at line 25 of file ../../third_party/llvm-libc/src/src/__support/sign.h

  • template <size_t alignment>
    uintptr_t distance_to_align_down (const void * ptr)

    Returns the number of bytes to substract from ptr to get to the previous

    multiple of alignment. If ptr is already aligned returns 0.

    Defined at line 29 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t alignment>
    uintptr_t distance_to_align_down (const void * ptr)

    Returns the number of bytes to substract from ptr to get to the previous

    multiple of alignment. If ptr is already aligned returns 0.

    Defined at line 29 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • (lambda at ../../sdk/lib/c/sanitizers/../ld/writable-segments.h:37:10) ModuleWritableSegmentsCallback (sanitizer_memory_snapshot_callback_t * callback, void * callback_arg)

    This returns a void(const ld::abi::Abi

    <

    >::Module

    &

    ) callable to make such

    callbacks for one module.

    Defined at line 31 of file ../../sdk/lib/c/sanitizers/../ld/writable-segments.h

  • void _Exit (int status)

    Defined at line 34 of file ../../sdk/lib/c/stdlib/_Exit.cc

  • void _exit (int status)

    Defined at line 36 of file ../../sdk/lib/c/stdlib/_Exit.cc

  • void InitStartupRandom ()

    This fills all LIBC_STARTUP_RANDOM_VAR objects with random bits. This is

    called very early, before the compiler ABI is set up. In fact, it's also

    what initializes the main thread's ZX_TLS_STACK_GUARD_OFFSET slot with

    random bits. Therefore it's built with an hermetic partial link, and so

    needs LIBC_ASM_LINKAGE.

    Defined at line 29 of file ../../sdk/lib/c/startup/startup-random.cc

  • void ___Exit_impl__ (int )

    Standard C specifies _Exit and C++ declares it noexcept.

    POSIX specifies _exit and in C++ it's not declared noexcept.

    They're actually the same thing, but a strict C++ compiler

    won't let us make them [[gnu::alias]] aliases directly here

    because the noexcept constitutes a type difference. So both

    are separately defined identically and will be ICF'd together

    for the same effect as the alias, but we can't use the alias

    (unless we resort to assembly, but this seems cleaner).

    Defined at line 34 of file ../../sdk/lib/c/stdlib/_Exit.cc

  • void ___exit_impl__ (int )

    Defined at line 36 of file ../../sdk/lib/c/stdlib/_Exit.cc

  • template <size_t alignment>
    uintptr_t distance_to_align_up (const void * ptr)

    Returns the number of bytes to add to ptr to get to the next multiple of

    alignment. If ptr is already aligned returns 0.

    Defined at line 38 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t alignment>
    uintptr_t distance_to_align_up (const void * ptr)

    Returns the number of bytes to add to ptr to get to the next multiple of

    alignment. If ptr is already aligned returns 0.

    Defined at line 38 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_leading_ones ()

    Create a bitmask with the count left-most bits set to 1, and all other bits

    set to 0. Only unsigned types are allowed.

    Defined at line 40 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_leading_ones ()

    Create a bitmask with the count left-most bits set to 1, and all other bits

    set to 0. Only unsigned types are allowed.

    Defined at line 40 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • void inline_memset (void * dst, uint8_t value, size_t count)

    Defined at line 40 of file ../../third_party/llvm-libc/src/src/string/memory_utils/inline_memset.h

  • void inline_memset (void * dst, uint8_t value, size_t count)

    Defined at line 40 of file ../../third_party/llvm-libc/src/src/string/memory_utils/inline_memset.h

  • uintptr_t misaligned (CPtr ptr)

    Defined at line 44 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/common.h

  • void inline_memcpy (void *__restrict dst, const void *__restrict src, size_t count)

    Defined at line 44 of file ../../third_party/llvm-libc/src/src/string/memory_utils/inline_memcpy.h

  • void inline_memcpy (void *__restrict dst, const void *__restrict src, size_t count)

    Defined at line 44 of file ../../third_party/llvm-libc/src/src/string/memory_utils/inline_memcpy.h

  • cpp::optional<cpp::string_view> try_get_errno_name (int err_num)
  • void SetStartHandles (zx::process process_self, zx::vmar allocation_vmar, zx::thread thread_self)

    This is called by StartCompilerAbi with the full Fuchsia Compiler ABI but

    still on the original stack: so technically still phase one, but closer to

    phase two and outside phase one's basic-ABI hermetic partial links so it

    must use asm linkage to be called across that hermetic boundary. It takes

    ownership of these handles by storing them in libc global state that can't

    be accessed directly from hermetic (phase one proper) code.

    Defined at line 115 of file ../../sdk/lib/c/startup/start-main.cc

  • void __libc_start_main (void * hook, zx_handle_t svc_server_end, MainFunction * main)

    This is called by startup-trampoline.S (the public __libc_start_main) after

    switching to the stack returned by StartCompilerAbi. It constitutes phase

    two: it already has the full Fuchsia Compiler ABI in place. It calls the

    second two

    <zircon

    /startup.h> API functions that complete the work done in

    phase one to start handling the process bootstrap protocol and yield `hook`,

    which is propagated to the phase-two

    <zircon

    /startup.h> functions.

    Defined at line 145 of file ../../sdk/lib/c/startup/start-main.cc

  • StartupTrampoline StartCompilerAbi (zx_handle_t bootstrap_client_end, const void * vdso)

    This is called by startup-trampoline.S using the basic machine ABI. It

    takes exactly the arguments of the actual `zx_process_start` entry point

    (the first two that `_start` and then `__libc_start_main` saw and then

    propagated), but returns a value (in two registers).

    It's responsible for allocating the stacks and initializing the thread

    pointer. It uses [`_zx_startup_get_handles`](../include/zircon/startup.h).

    That must decode the bootstrap protocol at least enough to acquire essential

    handles like the VMAR to use for allocation. This does all the allocation

    and initializes the thread pointer and shadow call stack register as fully

    as required by the Fuchsia Compiler ABI. When it returns to the assembly

    code, [phase two](start-main.h) is entered.

    Defined at line 45 of file ../../sdk/lib/c/startup/start-compiler-abi.cc

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_trailing_zeros ()

    Create a bitmask with the count right-most bits set to 0, and all other bits

    set to 1. Only unsigned types are allowed.

    Defined at line 48 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_trailing_zeros ()

    Create a bitmask with the count right-most bits set to 0, and all other bits

    set to 1. Only unsigned types are allowed.

    Defined at line 48 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • CPtr bitwise_or (CPtr a, CPtr b)

    Defined at line 48 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/common.h

  • void __thread_allocation_inhibit ()

    dlopen calls this under another lock. Only one dlopen call can be modifying

    state at a time. It excludes all ThreadStorage::Allocate() calls until the

    corresponding Thread goes on the gAllThreads list (thread-list.h).

    Defined at line 49 of file ../../sdk/lib/c/threads/thread-create.cc

  • template <size_t alignment>
    uintptr_t distance_to_next_aligned (const void * ptr)

    Returns the number of bytes to add to ptr to get to the next multiple of

    alignment. If ptr is already aligned returns alignment.

    Defined at line 49 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t alignment>
    uintptr_t distance_to_next_aligned (const void * ptr)

    Returns the number of bytes to add to ptr to get to the next multiple of

    alignment. If ptr is already aligned returns alignment.

    Defined at line 49 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • void inline_memcpy_x86_sse2_ge64 (__restrict Ptr dst, __restrict CPtr src, size_t count)

    Defined at line 49 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • void __thread_allocation_release ()

    Defined at line 53 of file ../../sdk/lib/c/threads/thread-create.cc

  • template <size_t alignment, typename T>
    T * assume_aligned (T * ptr)

    Returns the same pointer but notifies the compiler that it is aligned.

    Defined at line 54 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t alignment, typename T>
    T * assume_aligned (T * ptr)

    Returns the same pointer but notifies the compiler that it is aligned.

    Defined at line 54 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <auto&& f>
    void OnStack (NoStack , auto && f)

    Defined at line 55 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

  • template <auto&& stack, auto&& f>
    void OnStack (auto && stack, auto && f)

    Defined at line 56 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_leading_zeros ()

    Create a bitmask with the count left-most bits set to 0, and all other bits

    set to 1. Only unsigned types are allowed.

    Defined at line 56 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • template <typename T, size_t count>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> mask_leading_zeros ()

    Create a bitmask with the count left-most bits set to 0, and all other bits

    set to 1. Only unsigned types are allowed.

    Defined at line 56 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • zx::result<CreatedThread> ThreadCreate (ThreadAttributes attrs)

    Create a new Thread. This does all the allocation and creates the kernel

    thread. The new Thread object is initialized, owns that zx::thread handle,

    and is attached to the global thread list. The thread is not running yet and

    will be destroyed when the CreatedThread object dies before ThreadStart.

    Kernel operations can now be done via the thread handle to affect the thread

    (set scheduling parameters, etc.) before it starts running.

    Defined at line 57 of file ../../sdk/lib/c/threads/thread-create.cc

  • ThreadFunction * ToThreadFunction (int (*)(void *) func)

    Defined at line 58 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • void inline_memcpy_x86_avx_ge64 (__restrict Ptr dst, __restrict CPtr src, size_t count)

    Defined at line 59 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • template <auto value>
    auto StackOr (NoStack , auto value)

    Defined at line 60 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

  • bool is_disjoint (const void * p1, const void * p2, size_t size)

    Returns true iff memory regions [p1, p1 + size] and [p2, p2 + size] are

    disjoint.

    Defined at line 60 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • bool is_disjoint (const void * p1, const void * p2, size_t size)

    Returns true iff memory regions [p1, p1 + size] and [p2, p2 + size] are

    disjoint.

    Defined at line 60 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • ThreadFunction * ToThreadFunction (void *(*)(void *) func)

    Defined at line 61 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • template <auto stack, auto value>
    auto StackOr (auto stack, std::convertible_to<decltype(stack)> auto value)

    Defined at line 61 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

  • template <typename T>
    bool add_overflow (T a, T b, T & res)

    Returns whether 'a + b' overflows, the result is stored in 'res'.

    Defined at line 63 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • thrd_t ToC11Thread (Thread & thread)

    The C11

    <threads

    .h> thrd_t is actually just the Thread*.

    Defined at line 66 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • Thread * FromC11Thread (thrd_t thread)

    Defined at line 67 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • void ShadowCallStackSet (uint64_t * scsp)

    Defined at line 68 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

  • pthread_t ToPthread (Thread & thread)

    The POSIX

    <pthread

    .h> pthread_t is the same thing too.

    Defined at line 70 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • Thread * FromPthread (pthread_t thread)

    Defined at line 71 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • void inline_memcpy_prefetch (__restrict Ptr dst, __restrict CPtr src, size_t distance)

    Defined at line 71 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • template <typename T>
    bool sub_overflow (T a, T b, T & res)

    Returns whether 'a - b' overflows, the result is stored in 'res'.

    Defined at line 74 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • void inline_memcpy_x86_sse2_ge64_sw_prefetching (__restrict Ptr dst, __restrict CPtr src, size_t count)

    Defined at line 78 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • void inline_memset_arm_low_end (Ptr dst, uint8_t value, size_t size)

    Implementation for Cortex-M0, M0+, M1. It compiles down to 140 bytes when

    used through `memset` that also needs to return the `dst` ptr. These cores do

    not allow unaligned stores so all accesses are aligned.

    Defined at line 80 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/inline_memset.h

  • template <size_t Size>
    void memcpy_inline (void *__restrict dst, const void *__restrict src)

    Performs a constant count copy.

    Defined at line 85 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t Size>
    void memcpy_inline (void *__restrict dst, const void *__restrict src)

    Performs a constant count copy.

    Defined at line 85 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • void ShadowCallStackPrologue (void * caller)

    This must be called first thing in the first function that runs with the

    full compiler ABI available. In builds of libc without shadow-call-stack

    support enabled on machines where the ABI includes it, this mimics what the

    compiler's (non-leaf) function prologue would usually do. This ensures that

    however libc is built, the shadow-call-stack backtraces are consistent with

    the frame-pointer backtraces for the initial frames, yielding a predictable

    backtrace of _start -> __libc_start_main -> main via CFI, frame-pointer, and

    shadow-call-stack techniques. If main and the code it calls (outside libc)

    do use shadow-call-stack and expect good backtraces taken purely from the

    shadow call stack, then the outermost frames will match expectations.

    Defined at line 90 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> add_with_carry (T a, T b, T carry_in, T & carry_out)

    Returns the result of 'a + b' taking into account 'carry_in'.

    The carry out is stored in 'carry_out' it not 'nullptr', dropped otherwise.

    We keep the pass by pointer interface for consistency with the intrinsic.

    Defined at line 91 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • void inline_memcpy_arm_low_end (Ptr dst, CPtr src, size_t size)

    Implementation for Cortex-M0, M0+, M1 cores that do not allow for unaligned

    loads/stores. It compiles down to 208 bytes when used through `memcpy` that

    also needs to return the `dst` ptr.

    Note:

    - When `src` and `dst` are coaligned, we start by aligning them and perform

    bulk copies. We let the compiler know the pointers are aligned so it can

    use load/store multiple (LDM, STM). This significantly increase throughput

    but it also requires more registers and push/pop instructions. This impacts

    latency for small size copies.

    - When `src` and `dst` are misaligned, we align `dst` and recompose words

    using multiple aligned loads. `load_aligned` takes care of endianness

    issues.

    Defined at line 98 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/inline_memcpy.h

  • void inline_memset_arm_mid_end (Ptr dst, uint8_t value, size_t size)

    Implementation for Cortex-M3, M4, M7, M23, M33, M35P, M52 with hardware

    support for unaligned loads and stores. It compiles down to 186 bytes when

    used through `memset` that also needs to return the `dst` ptr.

    Defined at line 101 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/inline_memset.h

  • template <std::invocable<Thread&> auto NewThread, std::invocable<zx_status_t> auto Status>
    decltype(Status(std::declval<zx_status_t>())) ThreadCreateAndStart (decltype(NewThread(std::declval<Thread &>())) * new_thread, ThreadAttributes attrs, ThreadFunction * func, void * arg)

    Combines ThreadCreate and ThreadStart. This is templatized with converter

    functions for the public thread and error types (ToC11Thread / ToPthread,

    C11ThreadError / PthreadError) rather than just being a non-template

    function returning zx::result

    <Thread

    *> because thrd_create is required to

    write its result parameter before the new thread might read it back out of

    that same memory; the caller unpacking the result would be too late.

    Defined at line 104 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, T> sub_with_borrow (T a, T b, T carry_in, T & carry_out)

    Returns the result of 'a - b' taking into account 'carry_in'.

    The carry out is stored in 'carry_out' it not 'nullptr', dropped otherwise.

    We keep the pass by pointer interface for consistency with the intrinsic.

    Defined at line 117 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • ThreadList AllThreadsLocked ()

    Defined at line 119 of file ../../sdk/lib/c/threads/thread-list.h

  • void inline_memcpy_x86_avx_ge64_sw_prefetching (__restrict Ptr dst, __restrict CPtr src, size_t count)

    Defined at line 125 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, int> first_leading_zero (T value)

    Defined at line 142 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • void inline_memset_arm_dispatch (Ptr dst, uint8_t value, size_t size)

    Defined at line 145 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/inline_memset.h

  • void inline_memcpy_arm_mid_end (Ptr dst, CPtr src, size_t size)

    Implementation for Cortex-M3, M4, M7, M23, M33, M35P, M52 with hardware

    support for unaligned loads and stores. It compiles down to 272 bytes when

    used through `memcpy` that also needs to return the `dst` ptr.

    Defined at line 145 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/inline_memcpy.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, int> first_leading_one (T value)

    Defined at line 149 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • MemcmpReturnType cmp_uint32_t (uint32_t a, uint32_t b)

    This implements the semantic of 'memcmp' returning a negative value when 'a'

    is less than 'b', '0' when 'a' equals 'b' and a positive number otherwise.

    Defined at line 150 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, int> first_trailing_zero (T value)

    Defined at line 155 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • int C11ThreadError (zx_status_t status)

    Convert Zircon error to C11

    <threads

    .h> return value.

    Defined at line 158 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, int> first_trailing_one (T value)

    Defined at line 163 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • void inline_memcpy_x86 (__restrict Ptr dst, __restrict CPtr src, size_t count)

    Defined at line 164 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • void ThreadExitFinish (Thread & self)

    The last phase of exit is compiled using only the basic machine ABI so it

    can do some stack-switching and then free all the main thread stacks.

    Defined at line 166 of file ../../sdk/lib/c/threads/thread-exit-finish.cc

  • template <typename T>
    cpp::enable_if_t<cpp::is_unsigned_v<T>, int> count_zeros (T value)

    Defined at line 169 of file ../../third_party/llvm-libc/src/src/__support/math_extras.h

  • template <typename T>
    cpp::enable_if_t<cpp::is_integral_v<T>, uint8_t> extract_decimal_digit (T & value)

    Extract the low-order decimal digit from a value of integer type T. The

    returned value is the digit itself, from 0 to 9. The input value is passed

    by reference, and modified by dividing by 10, so that iterating this

    function extracts all the digits of the original number one at a time from

    low to high.

    Defined at line 172 of file ../../third_party/llvm-libc/src/src/__support/integer_to_string.h

  • int PthreadError (zx_status_t status)

    Convert Zircon error to POSIX errno.

    Defined at line 172 of file ../../sdk/lib/c/pthread/../threads/thread.h

  • MemcmpReturnType cmp_neq_uint64_t (uint64_t a, uint64_t b)

    Returns a negative value if 'a' is less than 'b' and a positive value

    otherwise. This implements the semantic of 'memcmp' when we know that 'a' and

    'b' differ.

    Defined at line 178 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • MemcmpReturnType cmp_neq_uint64_t (uint64_t a, uint64_t b)

    Returns a negative value if 'a' is less than 'b' and a positive value

    otherwise. This implements the semantic of 'memcmp' when we know that 'a' and

    'b' differ.

    Defined at line 178 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T>
    cpp::enable_if_t<is_big_int_v<T>, uint8_t> extract_decimal_digit (T & value)

    A specialization of extract_decimal_digit for the BigInt type in big_int.h,

    avoiding the use of general-purpose BigInt division which is very slow.

    Defined at line 186 of file ../../third_party/llvm-libc/src/src/__support/integer_to_string.h

  • void inline_memcpy_arm (Ptr dst, CPtr src, size_t size)

    Defined at line 195 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/inline_memcpy.h

  • template <typename T>
    T load (CPtr ptr)

    Loads bytes from memory (possibly unaligned) and materializes them as

    type.

    Defined at line 212 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • void inline_memcpy_x86_maybe_interpose_repmovsb (__restrict Ptr dst, __restrict CPtr src, size_t count)

    Defined at line 217 of file ../../third_party/llvm-libc/src/src/string/memory_utils/x86_64/inline_memcpy.h

  • template <typename T>
    void store (Ptr ptr, T value)

    Stores a value of type T in memory (possibly unaligned).

    Defined at line 219 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename ValueType, typename T, typename... TS>
    ValueType load_aligned (CPtr src)

    Loads a 'ValueType' by decomposing it into several loads that are assumed to

    be aligned.

    e.g. load_aligned

    <uint32

    _t, uint16_t, uint16_t>(ptr);

    Defined at line 232 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    auto load32_aligned (CPtr src, size_t offset)

    Alias for loading a 'uint32_t'.

    Defined at line 251 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    auto load32_aligned (CPtr src, size_t offset)

    Alias for loading a 'uint32_t'.

    Defined at line 251 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    auto load64_aligned (CPtr src, size_t offset)

    Alias for loading a 'uint64_t'.

    Defined at line 258 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    auto load64_aligned (CPtr src, size_t offset)

    Alias for loading a 'uint64_t'.

    Defined at line 258 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename ValueType, typename T, typename... TS>
    void store_aligned (ValueType value, Ptr dst)

    Stores a 'ValueType' by decomposing it into several stores that are assumed

    to be aligned.

    e.g. store_aligned

    <uint32

    _t, uint16_t, uint16_t>(value, ptr);

    Defined at line 267 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    void store32_aligned (uint32_t value, Ptr dst, size_t offset)

    Alias for storing a 'uint32_t'.

    Defined at line 286 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    void store32_aligned (uint32_t value, Ptr dst, size_t offset)

    Alias for storing a 'uint32_t'.

    Defined at line 286 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • zx::result<Thread *> ThreadStart (CreatedThread thread, ThreadFunction * func, void * arg)

    After a new Thread has been fully created, this actually starts it running.

    The new thread will call ThreadExit(func(arg)). Once the thread is running,

    it owns its own storage and kernel handle, so the CreatedThread is released.

    But unless the thread is detached, the caller now owns it via the Thread*

    until that is passed to ThreadJoin (or detached).

    Defined at line 289 of file ../../sdk/lib/c/threads/thread-start.cc

  • template <typename T, typename... TS>
    void store64_aligned (uint64_t value, Ptr dst, size_t offset)

    Alias for storing a 'uint64_t'.

    Defined at line 293 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T, typename... TS>
    void store64_aligned (uint64_t value, Ptr dst, size_t offset)

    Alias for storing a 'uint64_t'.

    Defined at line 293 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T1, typename T2>
    void adjust (ptrdiff_t offset, T1 *__restrict & p1, T2 *__restrict & p2, size_t & count)

    Advances the pointers p1 and p2 by offset bytes and decrease count by the

    same amount.

    Defined at line 301 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <typename T1, typename T2>
    void adjust (ptrdiff_t offset, T1 *__restrict & p1, T2 *__restrict & p2, size_t & count)

    Advances the pointers p1 and p2 by offset bytes and decrease count by the

    same amount.

    Defined at line 301 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t SIZE, typename T1, typename T2>
    void align_p1_to_next_boundary (T1 *__restrict & p1, T2 *__restrict & p2, size_t & count)

    Advances p1 and p2 so p1 gets aligned to the next SIZE bytes boundary

    and decrease count by the same amount.

    We make sure the compiler knows about the adjusted pointer alignment.

    Defined at line 312 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t SIZE, typename T1, typename T2>
    void align_p1_to_next_boundary (T1 *__restrict & p1, T2 *__restrict & p2, size_t & count)

    Advances p1 and p2 so p1 gets aligned to the next SIZE bytes boundary

    and decrease count by the same amount.

    We make sure the compiler knows about the adjusted pointer alignment.

    Defined at line 312 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t SIZE, typename T>
    void align_to_next_boundary (T *& p1, size_t & count)

    Same as align_p1_to_next_boundary above but with a single pointer instead.

    Defined at line 321 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t SIZE, typename T>
    void align_to_next_boundary (T *& p1, size_t & count)

    Same as align_p1_to_next_boundary above but with a single pointer instead.

    Defined at line 321 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t SIZE, Arg AlignOn, typename T1, typename T2>
    void align_to_next_boundary (T1 *__restrict & p1, T2 *__restrict & p2, size_t & count)

    Same as align_p1_to_next_boundary but allows for aligning p2 instead of p1.

    Precondition:

    &p

    1 !=

    &p

    2

    Defined at line 332 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • template <size_t SIZE, Arg AlignOn, typename T1, typename T2>
    void align_to_next_boundary (T1 *__restrict & p1, T2 *__restrict & p2, size_t & count)

    Same as align_p1_to_next_boundary but allows for aligning p2 instead of p1.

    Precondition:

    &p

    1 !=

    &p

    2

    Defined at line 332 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • void prefetch_for_write (CPtr dst)

    Defined at line 351 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • void prefetch_to_local_cache (CPtr dst)

    Defined at line 355 of file ../../third_party/llvm-libc/src/src/string/memory_utils/utils.h

  • BigInt<Bits, Signed, WordType> operator& (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 861 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator& (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 861 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator&= (BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 861 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator&= (BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 861 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator| (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 862 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator| (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 862 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator|= (BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 862 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator|= (BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 862 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator^ (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 863 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator^ (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 863 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator^= (BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 863 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • BigInt<Bits, Signed, WordType> operator^= (BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 863 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator== (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 879 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator== (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 879 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator!= (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 887 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator!= (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 887 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator> (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 892 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator> (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 892 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator>= (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 896 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator>= (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 896 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator< (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 900 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator< (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 900 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator<= (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 904 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • bool operator<= (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 904 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • int cmp (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 952 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • int cmp (const BigInt<Bits, Signed, WordType> & lhs, const BigInt<Bits, Signed, WordType> & rhs)

    Defined at line 952 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_trailing_ones ()

    Specialization of mask_trailing_ones ('math_extras.h') for BigInt.

    Defined at line 1307 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_trailing_ones ()

    Specialization of mask_trailing_ones ('math_extras.h') for BigInt.

    Defined at line 1307 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_leading_ones ()

    Specialization of mask_leading_ones ('math_extras.h') for BigInt.

    Defined at line 1324 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_leading_ones ()

    Specialization of mask_leading_ones ('math_extras.h') for BigInt.

    Defined at line 1324 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_trailing_zeros ()

    Specialization of mask_trailing_zeros ('math_extras.h') for BigInt.

    Defined at line 1340 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_trailing_zeros ()

    Specialization of mask_trailing_zeros ('math_extras.h') for BigInt.

    Defined at line 1340 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_leading_zeros ()

    Specialization of mask_leading_zeros ('math_extras.h') for BigInt.

    Defined at line 1347 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T, size_t count>
    cpp::enable_if_t<is_big_int_v<T>, T> mask_leading_zeros ()

    Specialization of mask_leading_zeros ('math_extras.h') for BigInt.

    Defined at line 1347 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T>
    cpp::enable_if_t<is_big_int_v<T>, int> count_zeros (T value)

    Specialization of count_zeros ('math_extras.h') for BigInt.

    Defined at line 1354 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T>
    cpp::enable_if_t<is_big_int_v<T>, int> first_leading_zero (T value)

    Specialization of first_leading_zero ('math_extras.h') for BigInt.

    Defined at line 1361 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T>
    cpp::enable_if_t<is_big_int_v<T>, int> first_leading_one (T value)

    Specialization of first_leading_one ('math_extras.h') for BigInt.

    Defined at line 1369 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T>
    cpp::enable_if_t<is_big_int_v<T>, int> first_trailing_zero (T value)

    Specialization of first_trailing_zero ('math_extras.h') for BigInt.

    Defined at line 1376 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

  • template <typename T>
    cpp::enable_if_t<is_big_int_v<T>, int> first_trailing_one (T value)

    Specialization of first_trailing_one ('math_extras.h') for BigInt.

    Defined at line 1384 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

Concepts

template <typename IncrementFunctiontypename ValueType> Incrementer std::regular_invocable<IncrementFunction, ValueType> && std::convertible_to<std::invoke_result_t<IncrementFunction, ValueType>, ValueType>

Defined at line 60 of file ../../sdk/lib/c/threads/thread-list.h

Variables

Mutex gAllThreadsLock

Defined at line 9 of file ../../sdk/lib/c/threads/thread-list.cc

Thread * gAllThreads

Defined at line 10 of file ../../sdk/lib/c/threads/thread-list.cc

std::array<uint64_t, (4 + 0)> gJmpBufManglers

Defined at line 17 of file ../../sdk/lib/c/setjmp/fuchsia/manglers.cc

std::byte[] kBegin
std::byte[] kEnd
const bool kShadowCallStackAbi

Defined at line 36 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

const WeakLock<_dlfcn_lock, _dlfcn_unlock> kDlfcnLock

Defined at line 37 of file ../../sdk/lib/c/threads/../dlfcn/dlfcn-abi.h

Log gLog

Defined at line 39 of file ../../sdk/lib/c/ld/log-storage.cc

const size_t kWordSize

Defined at line 39 of file ../../third_party/llvm-libc/src/src/string/memory_utils/arm/common.h

const bool kSafeStackAbi

Defined at line 45 of file ../../sdk/lib/c/startup/../threads/stack-abi.h

const WeakLock<__thread_allocation_inhibit, __thread_allocation_release> kStaticTlsLock

Defined at line 56 of file ../../sdk/lib/c/threads/thread-list.h

Abi mutable_ld_abi

Defined at line 80 of file ../../sdk/lib/c/startup/static-pie-relocate.cc

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1105 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_big_int_v

Defined at line 1106 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_integral_or_big_int_v

Defined at line 1116 of file ../../third_party/llvm-libc/src/src/__support/big_int.h

const bool is_unsigned_integral_or_big_int_v

Defined at line 1179 of file ../../third_party/llvm-libc/src/src/__support/big_int.h