Skip to content
This repository has been archived by the owner on Oct 27, 2024. It is now read-only.

Slot no more #4

Open
wants to merge 34 commits into
base: rust-analyzer-salsa
Choose a base branch
from

Conversation

Veykril
Copy link
Member

@Veykril Veykril commented Dec 7, 2023

No description provided.

nikomatsakis and others added 30 commits January 21, 2022 13:49
Instead of grabbing the arc, just pass back an `&mut Runtime`.

The eventual goal is to get rid of the lock on the `set` pathway
altogether, but one step at a time.
Because dash-map isn't indexable, we need to store a copy of the
key and have two separate maps. I expect to iterate on the best
data structures here.
In cycle.md, change `[salsa::Cycle]`
to `salsa::Cycle` so mdbook doesn't get confused
and think there is a broken Markdown link.

The warning was as follows:

```
warning: Potential incomplete link
  ┌─ cycles.md:3:131
  │
3 │ By default, when Salsa detects a cycle in the computation graph, Salsa will panic with a [`salsa::Cycle`] as the panic value. The [`salsa::Cycle`] structure that describes the cycle, which can be useful for diagnosing what went wrong.
  │                                                                                                                                   ^^^^^^^^^^^^^^^^ Did you forget to define a URL for ``salsa::Cycle``?
  │
  = hint: declare the link's URL. For example: `[`salsa::Cycle`]: http://example.com/`
```

After fixing this problem, there are no more mdbook warnings.
295: Make storage fields of #nameGroupStorage private r=nikomatsakis a=mheiber

This change resolves a fixme that referenced salsa-rs#120.

This change breaks no tests, and, if I understand
correctly, does not affect user-facing API.

Here is the difference for the `HelloWorldGroupStorage__` struct
generated from macros in the `hello_world` example:

**Before:**

```rs
struct HelloWorldGroupStorage__ {
    pub input_string:std::sync::Arc<<InputStringQuery as salsa::Query> ::Storage> ,pub length:std::sync::Arc<<LengthQuery as salsa::Query> ::Storage> ,
}
```

**After:**

```rs
struct HelloWorldGroupStorage__ {
    input_string:std::sync::Arc<<InputStringQuery as salsa::Query> ::Storage> ,length:std::sync::Arc<<LengthQuery as salsa::Query> ::Storage> ,
}
```

Co-authored-by: Maxwell Elliot Heiber <[email protected]>
294: Fix mdbook warning re "Potential incomplete link" r=nikomatsakis a=mheiber

In cycle.md, change `[salsa::Cycle]` to `salsa::Cycle` so mdbook doesn't get confused
and think there is a broken Markdown link ("warning: Potential incomplete link").

After fixing this problem, there are no more mdbook warnings when
running `mdbook build` in the "book" directory.



Co-authored-by: Maxwell Elliot Heiber <[email protected]>
296: Slot no more: overhauled internal algorithm r=nikomatsakis a=nikomatsakis

This is the overhauled implementation that avoids slots, is more parallel friendly, and paves the way to fixed point and more expressive cycle handling.

We just spent 90 minutes going over it. [Some rough notes are available here,](https://hackmd.io/6x9f6mavTRS2imfG96tP5A) and a video will be posted soon.

You may find the [flowgraph useful](https://raw.githubusercontent.com/nikomatsakis/salsa/slot-no-more/book/src/derived-query-read.drawio.svg).



Co-authored-by: Niko Matsakis <[email protected]>
297: Fix netlify deployment r=nikomatsakis a=nikomatsakis

I think I just configured this in a pretty bogus way

Co-authored-by: Niko Matsakis <[email protected]>
292: Document how to tune Salsa r=nikomatsakis a=mheiber

Document how to tune Salsa

> Re the CI failure: I couldn't repro locally with the same command. On CI, mdbook complains it can't find `./rfcs/RFC0007-Opinionated-cancelation.md`


Co-authored-by: Maxwell Elliot Heiber <[email protected]>
and add a test that we do so!
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants