@@ -13,7 +13,7 @@ finally
1313    Base. _track_dependencies[] =  true 
1414end 
1515
16- let 
16+ function   repl_workload () 
1717    #  these are intentionally triggered
1818    allowed_errors =  [
1919        " BoundsError: attempt to access 0-element Vector{Any} at index [1]"  ,
175175    nothing 
176176end 
177177
178- precompile (Tuple{typeof (Base. setindex!), Base. Dict{Any, Any}, Any, Int})
179- precompile (Tuple{typeof (Base. delete!), Base. Set{Any}, String})
180- precompile (Tuple{typeof (Base.:(== )), Char, String})
181- precompile (Tuple{typeof (Base. reseteof), Base. TTY})
178+ #  Copied from PrecompileTools.jl
179+ let 
180+     function  check_edges (node)
181+         parentmi =  node. mi_info. mi
182+         for  child in  node. children
183+             childmi =  child. mi_info. mi
184+             if  ! (isdefined (childmi, :backedges ) &&  parentmi ∈  childmi. backedges)
185+                 precompile (childmi. specTypes)
186+             end 
187+             check_edges (child)
188+         end 
189+     end 
190+ 
191+     if  Base. generating_output () &&  Base. JLOptions (). use_pkgimages !=  0 
192+         Core. Compiler. Timings. reset_timings ()
193+         Core. Compiler. __set_measure_typeinf (true )
194+         try 
195+             repl_workload ()
196+         finally 
197+             Core. Compiler. __set_measure_typeinf (false )
198+             Core. Compiler. Timings. close_current_timer ()
199+         end 
200+         roots =  Core. Compiler. Timings. _timings[1 ]. children
201+         for  child in  roots
202+             precompile (child. mi_info. mi. specTypes)
203+             check_edges (child)
204+         end 
205+         precompile (Tuple{typeof (Base. setindex!), Base. Dict{Any, Any}, Any, Int})
206+         precompile (Tuple{typeof (Base. delete!), Base. Set{Any}, String})
207+         precompile (Tuple{typeof (Base.:(== )), Char, String})
208+         precompile (Tuple{typeof (Base. reseteof), Base. TTY})
209+     end 
210+ end 
182211
183212end  #  Precompile
0 commit comments