Skip to content

Commit

Permalink
make precompile work in old case
Browse files Browse the repository at this point in the history
  • Loading branch information
vilterp committed Nov 22, 2022
1 parent 029b19b commit 3e19101
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions SnoopPrecompile/src/SnoopPrecompile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,29 @@ macro precompile_all_calls(ex::Expr)
end
end
if have_inference_tracking
ex = quote
Core.Compiler.__set_measure_typeinf(true)
try
$ex
finally
Core.Compiler.__set_measure_typeinf(false)
ex = if isdefined(Core.Compiler.Timings, :clear_and_fetch_timings)
# use new thread-safe timings API if it's available in this version of Julia
quote
Core.Compiler.__set_measure_typeinf(true)
try
$ex
finally
Core.Compiler.__set_measure_typeinf(false)
end
$SnoopPrecompile.precompile_roots(Core.Compiler.Timings.clear_and_fetch_timings())
end
else
quote
Core.Compiler.Timings.reset_timings()
Core.Compiler.__set_measure_typeinf(true)
try
$ex
finally
Core.Compiler.__set_measure_typeinf(false)
Core.Compiler.Timings.close_current_timer()
end
$SnoopPrecompile.precompile_roots(Core.Compiler.Timings._timings[1].children)
end
$SnoopPrecompile.precompile_roots(Core.Compiler.Timings.clear_and_fetch_timings())
end
end
return esc(quote
Expand Down

0 comments on commit 3e19101

Please sign in to comment.