Skip to content
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

fixes for "leaf-types cache for ml-matches" #36413

Closed
wants to merge 3 commits into from

Conversation

vtjnash
Copy link
Member

@vtjnash vtjnash commented Jun 24, 2020

Improvements to #36166 based upon review and experimental findings.

vtjnash added 2 commits June 24, 2020 11:55
…of leaf types

Addresses an off-by-one in the type lookup, ensures we look at at all
entries when doing invalidation, and allows putting any Type{T} object
also in the cache (I forgot these always had `simplesig`, so we needed
to handle that case too to receive the benefit for them).
If the environment is trivial (empty) and the type is a dispatch tuple,
we know the intersection result is trivial, and can skip it.
@vtjnash vtjnash requested a review from JeffBezanson June 24, 2020 16:02
src/gf.c Outdated Show resolved Hide resolved
@JeffBezanson
Copy link
Member

This doesn't seem to fix #36391 --- do we know what's going on there?

Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com>
@vtjnash
Copy link
Member Author

vtjnash commented Jun 25, 2020

Yeah, it's just gotten confused by the bigger caches. We'll have to fix the heuristics there later.

vtjnash added a commit that referenced this pull request Jun 25, 2020
…of leaf types (#36413)

Addresses an off-by-one in the type lookup, ensures we look at at all
entries when doing invalidation, and allows putting any Type{T} object
also in the cache (I forgot these always had `simplesig`, so we needed
to handle that case too to receive the benefit for them).
vtjnash added a commit that referenced this pull request Jun 25, 2020
If the environment is trivial (empty) and the type is a dispatch tuple,
we know the intersection result is trivial, and can skip it.
@vtjnash vtjnash closed this Jun 25, 2020
mbauman added a commit to dlfivefifty/julia that referenced this pull request Jun 26, 2020
* origin/master: (232 commits)
  Add passthrough for non-Markdown docs (JuliaLang#36091)
  Fix pointer to no longer assume contiguity (JuliaLang#36405)
  Ensure string-hashing is defined before it gets used (JuliaLang#36411)
  Make compilecache atomic (JuliaLang#36416)
  add a test for JuliaLang#30739 (JuliaLang#36395)
  Fix broken links in docstring of `repeat` (JuliaLang#36376)
  fix and de-dup cached calls to `methods_by_ftype` in compiler (JuliaLang#36404)
  ml-matches: skip unnecessary work, when possible (JuliaLang#36413)
  gf: fix some issues with the move from using a tree to a hash lookup of leaf types (JuliaLang#36413)
  Add news and manual entry for sincospi (JuliaLang#36403)
  Check axes in Array(::AbstractArray) (fixes JuliaLang#36220) (JuliaLang#36397)
  add versions of `code_typed` and `which` that accept tuple types (JuliaLang#36389)
  Fix spelling of readdir. (JuliaLang#36409)
  add sincospi (JuliaLang#35816)
  fix showing methods with unicode gensymed variable names (JuliaLang#36396)
  Add doctest: eachslice (JuliaLang#36386)
  fix documentation typo ("Ingeger")
  Refactor `abstract_eval` to separate out statements and values (JuliaLang#36350)
  fix return type of `get!` on `IdDict` (JuliaLang#36383)
  Allow single option with REPL.TerminalMenus (JuliaLang#36369)
  ...
simeonschaub pushed a commit to simeonschaub/julia that referenced this pull request Aug 11, 2020
…of leaf types (JuliaLang#36413)

Addresses an off-by-one in the type lookup, ensures we look at at all
entries when doing invalidation, and allows putting any Type{T} object
also in the cache (I forgot these always had `simplesig`, so we needed
to handle that case too to receive the benefit for them).
simeonschaub pushed a commit to simeonschaub/julia that referenced this pull request Aug 11, 2020
If the environment is trivial (empty) and the type is a dispatch tuple,
we know the intersection result is trivial, and can skip it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants