Aleksey Kladov
|
5abd02097d
|
Refactor out some illegal states
It's impossible to have an `InProgress` state here, so let's ensure
that!
|
2018-10-16 12:48:01 +03:00 |
|
Niko Matsakis
|
6a61233902
|
Merge pull request #51 from matklad/plumbing
Hide public impl detail in the plumbing module
|
2018-10-16 05:29:57 -04:00 |
|
Niko Matsakis
|
fd2d1fbe23
|
Merge pull request #52 from matklad/debug-runtime
impl fmt::Debug for Runtime
|
2018-10-16 05:28:09 -04:00 |
|
Aleksey Kladov
|
47e87e0bc2
|
impl fmt::Debug for Runtime
|
2018-10-16 11:47:40 +03:00 |
|
Aleksey Kladov
|
4401e88fba
|
Hide public impl detail in the plumbing module
|
2018-10-16 11:24:51 +03:00 |
|
Niko Matsakis
|
a128861a2c
|
Merge pull request #50 from nikomatsakis/release-0.5.0
Release 0.5.0
|
2018-10-15 16:51:35 -04:00 |
|
Niko Matsakis
|
5ec9161598
|
warn about rust_2018_idioms, not deny
We are on beta so we sort of straddle this line.
|
2018-10-15 16:40:57 -04:00 |
|
Niko Matsakis
|
fbe0a83b0c
|
release 0.5.0
|
2018-10-15 16:38:55 -04:00 |
|
Niko Matsakis
|
20c9fbf45c
|
Merge pull request #48 from nikomatsakis/cancellation
Cancellation and parallel queries
|
2018-10-15 12:37:00 -04:00 |
|
Niko Matsakis
|
de934274d1
|
block on other threads in maybe_changed_since
|
2018-10-15 11:55:01 -04:00 |
|
Niko Matsakis
|
cf72c98946
|
extract register_with_in_progress_thread helper
|
2018-10-15 11:49:14 -04:00 |
|
Niko Matsakis
|
29831a7430
|
remove ErrorDetected variant from ProbeState
|
2018-10-15 09:31:25 -04:00 |
|
Niko Matsakis
|
a8fd113636
|
merge read_probe and probe
|
2018-10-15 09:30:08 -04:00 |
|
Niko Matsakis
|
be983aacdf
|
extract read_upgrade into a separate helper
And use it from `maybe_changed_since` where it makes sense.
|
2018-10-15 08:53:52 -04:00 |
|
Niko Matsakis
|
2ba9c97815
|
rewrite to thread a Vec<Receiver> to signal waiters
This is both more precise and the logic is simpler.
|
2018-10-15 08:28:55 -04:00 |
|
Niko Matsakis
|
373e1158f3
|
only acquire a read-lock when verifying inputs
We no longer use a placeholder.
|
2018-10-15 05:32:24 -04:00 |
|
Niko Matsakis
|
1799e12aa4
|
more debug! when executing from inputs
|
2018-10-15 05:25:05 -04:00 |
|
Niko Matsakis
|
04288dadef
|
track whether a query is in progress more accurately
|
2018-10-15 05:24:36 -04:00 |
|
Niko Matsakis
|
9d60b1e1cd
|
make query-descriptor-set cheaply cloneable
|
2018-10-14 20:15:27 -04:00 |
|
Niko Matsakis
|
2359d8aa0c
|
add a test of computing sum("abc") twice in parallel
|
2018-10-14 14:58:31 -04:00 |
|
Niko Matsakis
|
d2c3025009
|
refactor probe to be more generic
|
2018-10-14 07:23:38 -04:00 |
|
Niko Matsakis
|
be08029f8c
|
[WIP] introduce blocking/notification
|
2018-10-14 06:59:43 -04:00 |
|
Niko Matsakis
|
da94299f19
|
[WIP] restructure to handle blocking (which we do not yet initiate)
|
2018-10-13 06:28:05 -04:00 |
|
Niko Matsakis
|
975eaf58d7
|
change InProgress to a struct form
|
2018-10-13 06:08:29 -04:00 |
|
Niko Matsakis
|
ea0b196a5d
|
[WIP] await_other_guard fn
|
2018-10-13 06:04:57 -04:00 |
|
Niko Matsakis
|
00c76be635
|
refactor derived read to only require read lock
The old setup acquired `upgradable_read` even when the value was cached.
At that point you might as well just a mutex.
|
2018-10-13 05:45:57 -04:00 |
|
Niko Matsakis
|
3318921717
|
show that executing queries on distinct keys can proceed in parallel
|
2018-10-13 05:45:28 -04:00 |
|
Niko Matsakis
|
e9fadfcfe7
|
add more knobs, and refactor to make that easier
|
2018-10-13 05:39:51 -04:00 |
|
Niko Matsakis
|
8da63ec029
|
move distinct tests into their own files to ease reading
|
2018-10-13 05:27:20 -04:00 |
|
Niko Matsakis
|
fb5ba07290
|
move the test setup in setup.rs
|
2018-10-13 05:22:38 -04:00 |
|
Niko Matsakis
|
8f03f3bb76
|
move parallel tests into a directory
|
2018-10-13 05:03:34 -04:00 |
|
Niko Matsakis
|
a0e14e1806
|
runtime: dependency graph (wip)
|
2018-10-12 13:41:55 -04:00 |
|
Niko Matsakis
|
ca329ddd10
|
store the runtime-id in the InProgress indicator
|
2018-10-12 12:11:49 -04:00 |
|
Niko Matsakis
|
36f72c0b58
|
give each forked runtime a unique id
|
2018-10-12 12:11:49 -04:00 |
|
Niko Matsakis
|
e7e9c1bebb
|
rename revision_lock to query_lock and update comments
|
2018-10-12 12:11:49 -04:00 |
|
Niko Matsakis
|
68015738a5
|
add parallel tests that show cancellation, racing threads
|
2018-10-12 12:11:37 -04:00 |
|
Niko Matsakis
|
4f4676df60
|
remove a bunch of unused imports
|
2018-10-12 11:21:40 -04:00 |
|
Niko Matsakis
|
be62e8c7a1
|
add runtime log
|
2018-10-12 11:21:40 -04:00 |
|
Niko Matsakis
|
890207346f
|
do not hold input write lock while incrementing revision
|
2018-10-12 05:28:17 -04:00 |
|
Niko Matsakis
|
d11a15aff9
|
add debugging methods on input::set
|
2018-10-12 05:27:42 -04:00 |
|
Niko Matsakis
|
383a26d28a
|
Merge pull request #47 from matklad/patch-1
Link zulip chat
|
2018-10-12 05:07:23 -04:00 |
|
Niko Matsakis
|
f7d6ebe76a
|
introduce a ParallelDatabase trait
|
2018-10-11 20:22:38 -04:00 |
|
Niko Matsakis
|
c6f78d5f27
|
have queries freeze the revision
|
2018-10-11 16:48:20 -04:00 |
|
Aleksey Kladov
|
9edb711481
|
Link zulip chat.
|
2018-10-11 16:18:58 +03:00 |
|
Niko Matsakis
|
41b36da054
|
tracking pending increments and add is_current_revision_canceled
|
2018-10-11 08:37:15 -04:00 |
|
Niko Matsakis
|
4a8b264b7f
|
add a revision lock
|
2018-10-11 08:18:16 -04:00 |
|
Niko Matsakis
|
12deacbbb5
|
Merge pull request #45 from nikomatsakis/constants
Constants
|
2018-10-11 08:07:57 -04:00 |
|
Niko Matsakis
|
a353ffb13c
|
add back implied outlives bounds
Those were reverted on beta.
|
2018-10-11 05:49:05 -04:00 |
|
Niko Matsakis
|
a0c983403d
|
add some tests about setting with same value
|
2018-10-11 05:49:05 -04:00 |
|
Niko Matsakis
|
5e381f314b
|
add test where we become constant but do not change value
|
2018-10-11 04:56:34 -04:00 |
|