• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaLang / julia / #37887
77%

Build:
DEFAULT BRANCH: master
Ran 29 Aug 2024 10:40AM UTC
Jobs 1
Files 361
Run time 28min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Aug 2024 06:51AM UTC coverage: 87.875% (+0.02%) from 87.854%
#37887

push

local

web-flow
optimizer: don't insert `:throw_undef_if_not` for defined slots (#55600)

As an application of JuliaLang/julia#55545, this commit avoids the
insertion of `:throw_undef_if_not` nodes when the defined-ness of a slot
is guaranteed by abstract interpretation.

```julia
julia> function isdefined_nothrow(c, x)
           local val
           if c
               val = x
           end
           if @isdefined val
               return val
           end
           return zero(Int)
       end;

julia> @code_typed isdefined_nothrow(true, 42)
```
```diff
diff --git a/old b/new
index c4980a5c9c..3d1d6d30f0 100644
--- a/old
+++ b/new
@@ -4,7 +4,6 @@ CodeInfo(
 3 ┄ %3 = φ (#2 => x, #1 => #undef)::Int64
 │   %4 = φ (#2 => true, #1 => false)::Bool
 └──      goto #5 if not %4
-4 ─      $(Expr(:throw_undef_if_not, :val, :(%4)))::Any
-└──      return %3
+4 ─      return %3
 5 ─      return 0
 ) => Int64
```

3 of 4 new or added lines in 1 file covered. (75.0%)

33 existing lines in 3 files now uncovered.

78250 of 89047 relevant lines covered (87.87%)

16797254.21 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
88.48
0.02% base/compiler/ssair/slot2ssa.jl

Uncovered Existing Lines

Lines Coverage ∆ File
1
90.91
-0.41% stdlib/Random/src/generation.jl
1
94.22
-0.15% stdlib/LinearAlgebra/src/diagonal.jl
31
90.3
0.01% base/multidimensional.jl
Jobs
ID Job ID Ran Files Coverage
1 #37887.1 29 Aug 2024 10:40AM UTC 361
87.87
Source Files on build #37887
  • Tree
  • List 361
  • Changed 238
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ac0161a6 on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc