Skip to content

Commit c1b5035

Browse files
committed
disable inline of try/catch
these aren't usually performance-sensitive functions, and llvm is more likely to miscompile them when these functions get large
1 parent 878ffa8 commit c1b5035

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

base/inference.jl

+1
Original file line numberDiff line numberDiff line change
@@ -4585,6 +4585,7 @@ function inline_worthy(body::Expr, cost::Integer=1000) # precondition: 0 < cost;
45854585
if !(isa(stmt, SSAValue) || inline_ignore(stmt))
45864586
nstmt += 1
45874587
end
4588+
isa(stmt, Expr) && stmt.head == :enter && return false # don't inline functions with try/catch
45884589
end
45894590
if nstmt < (symlim + 500) ÷ 100
45904591
symlim *= 16

0 commit comments

Comments
 (0)