@@ -83,7 +83,7 @@ function define_absolute_symbol(jd, name)
8383 return false
8484end
8585
86- function __init__ ()
86+ function setup_globals ()
8787 opt_level = Base. JLOptions (). opt_level
8888 if opt_level < 2
8989 optlevel = LLVM. API. LLVMCodeGenLevelNone
@@ -105,11 +105,6 @@ function __init__()
105105 dg = LLVM. CreateDynamicLibrarySearchGeneratorForProcess (prefix)
106106 LLVM. add! (jd_main, dg)
107107
108- if Sys. iswindows () && Int === Int64
109- # TODO can we check isGNU?
110- define_absolute_symbol (jd_main, mangle (lljit, " ___chkstk_ms" ))
111- end
112-
113108 es = ExecutionSession (lljit)
114109 try
115110 lctm = LLVM. LocalLazyCallThroughManager (triple (lljit), es)
@@ -120,6 +115,17 @@ function __init__()
120115 jit[] = CompilerInstance (lljit, nothing , nothing )
121116 end
122117
118+ jd_main, lljit
119+ end
120+
121+ function __init__ ()
122+ jd_main, lljit = setup_globals ()
123+
124+ if Sys. iswindows () && Int === Int64
125+ # TODO can we check isGNU?
126+ define_absolute_symbol (jd_main, mangle (lljit, " ___chkstk_ms" ))
127+ end
128+
123129 hnd = unsafe_load (cglobal (:jl_libjulia_handle , Ptr{Cvoid}))
124130 for (k, v) in Compiler. JuliaGlobalNameMap
125131 ptr = unsafe_load (Base. reinterpret (Ptr{Ptr{Cvoid}}, Libdl. dlsym (hnd, k)))
0 commit comments