-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update to https://github.com/JuliaLang/julia/pull/42082 #224
Conversation
@@ -84,12 +84,19 @@ end | |||
|
|||
# branch on https://github.com/JuliaLang/julia/pull/41328 | |||
@static if isdefined(Compiler, :is_stmt_inline) | |||
function Compiler.inlining_policy(interp::CthulhuInterpreter, @nospecialize(src), stmt_flag::UInt8) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CIs are failing now because 1.8.0-DEV.472
doesn't seem to arrive at the nightly channel yet.
Still I'd like to drop the support for dev versions between JuliaLang/julia#41328 and 1.8.0-DEV.472
.
Codecov Report
@@ Coverage Diff @@
## master #224 +/- ##
==========================================
+ Coverage 50.43% 51.78% +1.35%
==========================================
Files 7 7
Lines 924 925 +1
==========================================
+ Hits 466 479 +13
+ Misses 458 446 -12
Continue to review full report at Codecov.
|
@simeonschaub do you have any idea on why this test case now produces Lines 104 to 116 in 7ded0c9
|
Not sure why that changed, but you could use Line 41 in 30ac9f5
|
if Base.JLOptions().check_bounds ∈ (0, 2) | ||
@testset "DCE & boundscheck" begin | ||
Base.@propagate_inbounds function f(x) | ||
@boundscheck error() | ||
end | ||
g(x) = @inbounds f(x) | ||
h(x) = f(x) | ||
|
||
(_,CI, _, _, _, _) = process(g, Tuple{Vector{Float64}}) | ||
@test all(CI.stmts.inst) do stmt | ||
isa(stmt, Core.GotoNode) || (isa(stmt, Core.ReturnNode) && isdefined(stmt, :val)) || Base.Meta.isexpr(stmt, :code_coverage_effect, 0) | ||
end | ||
|
||
(_,CI, _, _, _, _) = process(h, Tuple{Vector{Float64}}) | ||
i = 1 | ||
while CI.stmts.inst[i] === nothing || Base.Meta.isexpr(CI.stmts.inst[i], :code_coverage_effect, 0) | ||
i += 1 | ||
end | ||
@test length(CI.stmts) - i + 1 == 2 | ||
stmt = CI.stmts.inst[end] | ||
@test isa(stmt, Core.ReturnNode) && !isdefined(stmt, :val) | ||
end | ||
end | ||
# # TODO run this testset in a separate process | ||
# # julia --check-bounds=auto --code-coverage=none | ||
# @testset "DCE & boundscheck" begin | ||
# M = Module() | ||
# @eval M begin | ||
# Base.@propagate_inbounds function f(x) | ||
# @boundscheck error() | ||
# end | ||
# g(x) = @inbounds f(x) | ||
# h(x) = f(x) | ||
# end | ||
# | ||
# let | ||
# (_,CI, _, _, _, _) = process(M.g, Tuple{Vector{Float64}}) | ||
# @test all(CI.stmts.inst) do stmt | ||
# isa(stmt, Core.GotoNode) || (isa(stmt, Core.ReturnNode) && isdefined(stmt, :val)) | ||
# end | ||
# end | ||
# | ||
# let | ||
# (_,CI, _, _, _, _) = process(M.h, Tuple{Vector{Float64}}) | ||
# @test count(!isnothing, CI.stmts.inst) == 2 | ||
# stmt = CI.stmts.inst[end] | ||
# @test isa(stmt, Core.ReturnNode) && !isdefined(stmt, :val) | ||
# end | ||
# end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It turns out that this testset hasn't been ran so far. Running it in a separate process with --check-bounds=auto --code-coverage=none
options will solve issues, but I will leave it for another PR.
No description provided.