Revision f922a6371c6b658aa955e5096774509b12dd7579 authored by Jeff Bezanson on 07 September 2018, 03:32:38 UTC, committed by Keno Fischer on 08 September 2018, 19:47:23 UTC
In this case, the result of `iterate` has not been checked for `nothing`, so we try to call `indexed_iterate` (for destructuring assignment) on a Union of Nothing and the tuple returned by `iterate`. That has two method matches, and so was excluded from constant propagation. This commit fixes that by generalizing the constant prop heuristic from requiring one method match to requiring one non-Bottom method match. This issue caused a large slowdown in DelimitedFiles, where the inner loop consists of ``` while idx <= slen val,idx = iterate(dbuff, idx) ```
1 parent 65e4c13
File | Mode | Size |
---|---|---|
.circleci | ||
.github | ||
base | ||
contrib | ||
deps | ||
doc | ||
etc | ||
src | ||
stdlib | ||
test | ||
ui | ||
.freebsdci.sh | -rwxr-xr-x | 1.2 KB |
.gitattributes | -rw-r--r-- | 67 bytes |
.gitignore | -rw-r--r-- | 235 bytes |
.mailmap | -rw-r--r-- | 9.5 KB |
.travis.yml | -rw-r--r-- | 6.9 KB |
CONTRIBUTING.md | -rw-r--r-- | 20.5 KB |
DISTRIBUTING.md | -rw-r--r-- | 23.6 KB |
HISTORY.md | -rw-r--r-- | 236.8 KB |
LICENSE.md | -rw-r--r-- | 5.1 KB |
Make.inc | -rw-r--r-- | 36.2 KB |
Makefile | -rw-r--r-- | 28.3 KB |
NEWS.md | -rw-r--r-- | 1.2 KB |
README.arm.md | -rw-r--r-- | 5.7 KB |
README.md | -rw-r--r-- | 29.2 KB |
README.windows.md | -rw-r--r-- | 13.0 KB |
VERSION | -rw-r--r-- | 10 bytes |
Windows.inc | -rw-r--r-- | 1.5 KB |
appveyor.yml | -rw-r--r-- | 2.6 KB |
Computing file changes ...