/
githubmirror
/
julia
Обзор
Документация
Войти
/
githubmirror
/
julia
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/julia_fasttls.h
49 строк
2 KB
Jameson Nash
[clangsa] more analyzer corrections
29 июн 2026, 19:51
29 июн 2026, 19:51
64537a5
Код
Авторство
О чём код?
// This file is a part of Julia. License is MIT: https://julialang.org/license #ifndef JL_FASTTLS_H #define JL_FASTTLS_H #ifdef __cplusplus #include <atomic> #define _Atomic(T) std::atomic<T> #else #include <stdatomic.h> #endif #include "analyzer_annotations.h" // Thread-local storage access #ifdef __cplusplus extern "C" { #endif /* Bring in definitions for `_OS_X_`, `JL_PATH_MAX` and `PATHSEPSTRING`, `jl_ptls_t`, etc... */ #include "platform.h" #include "dirpath.h" typedef struct _jl_gcframe_t jl_gcframe_t; typedef jl_gcframe_t **(*jl_get_pgcstack_func_t)(void) JL_GLOBALLY_ROOTED JL_NOTSAFEPOINT; #if !defined(_OS_WINDOWS_) #define JULIA_DEFINE_FAST_TLS \ static __attribute__((tls_model("local-exec"))) __thread jl_gcframe_t **jl_pgcstack_localexec; \ JL_DLLEXPORT _Atomic(char) jl_pgcstack_static_semaphore; \ JL_DLLEXPORT jl_gcframe_t **jl_get_pgcstack_static(void) \ { \ return jl_pgcstack_localexec; \ } \ JL_DLLEXPORT jl_gcframe_t ***jl_pgcstack_addr_static(void) \ { \ return &jl_pgcstack_localexec; \ } #else #define JULIA_DEFINE_FAST_TLS #endif #ifdef __cplusplus } #endif #endif