Commit graph

1664 commits

Author SHA1 Message Date
Niko Matsakis
dcb0eb242e refactor extend_memo_lifetime to return memo
This is a step towards refactoring `fetch`
to return the memo itself and not the value.
2024-09-21 06:29:01 -04:00
Niko Matsakis
2528045540 remove read of "entity table"
We used to have the concept of "resetting"
a tracked struct, which removed all instances.
We don't have that concept anymore.
Therefore we don't need to record a read on the
tracked struct table itself.
2024-09-16 06:17:19 -04:00
Niko Matsakis
d7df2cd4bb change disambiguator_map to FxHashMap
There is no need for IndexMap here,
we don't iterate or care about indices.
2024-09-16 06:16:23 -04:00
Niko Matsakis
34a8edb461 allocate values in a closure
This will allow us to store the id
in the struct itself.
2024-09-16 06:00:33 -04:00
Carl Meyer
2af849b9a9
Merge pull request #569 from carljm/durability-test
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
add test for high-durability dependency validation
2024-08-29 18:05:05 +00:00
David Barsky
9542a461b9
Merge pull request #571 from salsa-rs/davidbarsky/push-wpynvwnqotst
chore: fix clippy lints
2024-08-29 17:54:14 +00:00
David Barsky
df78f298ee chore: fix clippy lints 2024-08-29 13:50:01 -04:00
Carl Meyer
403ab25c33
add test for high-durability dependency validation 2024-08-28 13:33:40 -07:00
Niko Matsakis
884a30cf9d
Merge pull request #567 from MichaReiser/reduce-set-cloning
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Reduce cloning of sets in `ActiveQuery` and `QueryRevisions`
2024-08-28 09:37:11 +00:00
Micha Reiser
74a4de43dc
Keep using an Arc<Slice> 2024-08-22 09:30:07 +02:00
Micha Reiser
8175c77cc5
Reduce cloning of sets in ActiveQuery and QueryRevisions 2024-08-22 09:23:21 +02:00
Niko Matsakis
f608ff8b24
Merge pull request #566 from MichaReiser/const-query
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Fix const queries with custom `Db` trait
2024-08-20 20:32:27 +00:00
Micha Reiser
3f93415313
Fix const query with custom database trait 2024-08-20 21:49:30 +02:00
Micha Reiser
4609fd0043
Add failing test 2024-08-20 21:34:38 +02:00
Niko Matsakis
d5018d5614
Merge pull request #564 from nikomatsakis/tables
Tables
2024-08-20 14:26:48 +00:00
Niko Matsakis
02036ff446 pacify the merciless cargo fmt 2024-08-20 10:09:49 -04:00
Niko Matsakis
8ad967ea1e fix the remaining clippy items 2024-08-20 10:09:49 -04:00
Niko Matsakis
8b8dd53197 apply cargo clippy --fix 2024-08-20 10:09:49 -04:00
Niko Matsakis
3e5559408a pacify the merciless cargo fmt 2024-08-20 10:09:49 -04:00
Niko Matsakis
d7af1a85fb simplify Id traits, make new crate-private
`Id` values are used in a very tailored way now, no reason
to let people construct arbitrary ones.
2024-08-20 10:09:49 -04:00
Niko Matsakis
6401563755 store memoized fn results attached to the salsa struct 2024-08-20 10:09:49 -04:00
Niko Matsakis
8b058be74f introduce Memo trait 2024-08-20 10:09:49 -04:00
Niko Matsakis
3dabb0ddc8 make memos take read-lock (and infallible return)
We want to ensure that accessing the memos only occurs
in revision R after the struct is created.
2024-08-20 10:09:49 -04:00
Niko Matsakis
8833a7168b remove "constant" functions
The goal here is that ALL `Id` values come from a `Table`
2024-08-20 10:09:49 -04:00
Niko Matsakis
31257ba758 store ingredient index for each memo ingredient 2024-08-20 10:09:49 -04:00
Niko Matsakis
c251001da6 remove the _mut accesors from Table (unused) 2024-08-20 10:09:49 -04:00
Niko Matsakis
f12874fe62 store fn to create Arc<dyn Any> instead of drop
This will allow us to invoke callbacks when deleting
a memo with `Arc<dyn Any>` values.
2024-08-20 10:09:49 -04:00
Niko Matsakis
d8ae590428 extend justfile testing 2024-08-20 10:09:49 -04:00
Niko Matsakis
703f312eae port input to use Table 2024-08-20 10:09:49 -04:00
Niko Matsakis
2f8e78f431 add unused db argument to event method 2024-08-20 10:09:49 -04:00
Niko Matsakis
403755548b give each function ingredient a memo ingredient index 2024-08-20 10:09:49 -04:00
Niko Matsakis
9d93fdbdc2 allow fetching memo table from a given id 2024-08-20 10:09:49 -04:00
Niko Matsakis
b5540f1122 add memo_table method to Slot trait
This returns the memos attached to a given slot.
Not all slots have affiliated memos, so return an `Option`.
2024-08-20 10:09:49 -04:00
Niko Matsakis
db8d64faa6 introduce Slot trait 2024-08-20 10:09:49 -04:00
Niko Matsakis
33a99da476 introduce memo table (first draft) 2024-08-20 10:09:49 -04:00
Niko Matsakis
c16c60c70a introduce MemoIngredientIndex 2024-08-20 10:09:49 -04:00
Niko Matsakis
94d58e6e11 introduce a trait for downcasting 2024-08-20 10:09:49 -04:00
Niko Matsakis
1fbca6d756 create shared utility fn transmute_data_ptr 2024-08-20 10:09:49 -04:00
Niko Matsakis
188f759555 use table for tracked structs and their fields
This also retools a tiny bit how deletion works.
We will reuse ids faster than before, actually.
2024-08-20 10:09:49 -04:00
Niko Matsakis
01d4ef86b2 introduce Table and use for interned values 2024-08-20 10:09:49 -04:00
Niko Matsakis
a27befeeba run tests with UPDATE_EXPECT=1 2024-08-20 10:09:49 -04:00
Niko Matsakis
5cb519852b hex Id printouts 2024-08-20 10:09:49 -04:00
David Barsky
08820ea674
Merge pull request #525 from davidbarsky/master
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
internal: add some initial input benchmarks
2024-08-13 14:44:50 +00:00
David Barsky
0557605cb8 internal: add some initial input benchmarks 2024-08-13 10:38:38 -04:00
Niko Matsakis
4657ac3a0d Revert "introduce Table and use for interned values"
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
This reverts commit 9a3111ce27.
2024-08-11 08:04:47 +03:00
Niko Matsakis
9a3111ce27 introduce Table and use for interned values
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2024-08-08 18:25:06 +03:00
Niko Matsakis
0c1d8b6dbd
Merge pull request #559 from MichaReiser/setter-preserve-durability
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Preserve durability when setting a new input-value
2024-08-08 11:38:02 +00:00
Niko Matsakis
04a1e32a5a
Merge pull request #560 from MichaReiser/reduce-tracing-verbosity
Reduce tracing output of memo
2024-08-08 11:37:37 +00:00
Micha Reiser
e994e7fae0
Reduce tracing output of memo 2024-08-08 09:23:14 +02:00
Micha Reiser
c4fee35157
Preserve durability when setting a new input-value 2024-08-07 09:08:03 +02:00