Commit graph

45 commits

Author SHA1 Message Date
Niko Matsakis
2d2bdfe7f1 move incremental, storage_varieties to tests
They aren't meant to be things to model oneself after.
2018-09-30 07:01:21 -04:00
Niko Matsakis
e134ffcdf4 add a public next_revision method and start on incremental test 2018-09-30 06:59:28 -04:00
Niko Matsakis
1929b26505 update test name 2018-09-30 06:09:42 -04:00
Niko Matsakis
4f04f9335c implement maybe_changed_since for volatile, fix comments 2018-09-30 06:09:06 -04:00
Niko Matsakis
7c78d60360 rename transparent to volatile 2018-09-30 06:05:42 -04:00
Niko Matsakis
b12b607db2 have query-descriptors invoke maybe_changed_since 2018-09-30 06:04:09 -04:00
Niko Matsakis
4449e97944 start threading through inputs and revision information 2018-09-29 10:19:10 -04:00
Niko Matsakis
907fe96628 add a Memoized struct 2018-09-29 07:24:53 -04:00
Niko Matsakis
738e285c5c add a (unused) report_query_read to runtime to track deps 2018-09-29 07:23:45 -04:00
Niko Matsakis
5ed8cafe04 introduce active query and some (unused) fields 2018-09-29 07:15:41 -04:00
Niko Matsakis
dc94984a2b introduce a LocalState type 2018-09-29 07:02:32 -04:00
Niko Matsakis
2e7e77516e refactor to have a revision and shared state in runtime
Pare down our feature list to what we actually *use*
2018-09-29 06:52:56 -04:00
Niko Matsakis
72a5b50368 update comments and remove storage 2018-09-29 06:44:08 -04:00
Niko Matsakis
36e2b9cdcc checkpoint: weird rustc bug permitting extra members 2018-09-29 06:41:00 -04:00
Niko Matsakis
d7b1d194de remove the pub use for runtime to keep the "main namespace" clean
Not sure which is better.
2018-09-29 06:20:12 -04:00
Niko Matsakis
f8bf23bfb5 document the implementation module 2018-09-29 06:10:06 -04:00
Niko Matsakis
9b1bcb1677 warn people not to use this :) 2018-09-29 06:05:04 -04:00
Niko Matsakis
8921a1bcde introduce a QueryDescriptor trait 2018-09-29 06:04:02 -04:00
Niko Matsakis
c85edccc1e remove the horrible dyn_descriptor and generate an enum 2018-09-29 06:01:44 -04:00
Niko Matsakis
d6821d1097 allow user to define link to storage/runtime entirely
This seems like a more consistent abstraction.
2018-09-29 05:52:14 -04:00
Niko Matsakis
4b4ab53cdb improve comment 2018-09-29 05:48:28 -04:00
Niko Matsakis
4054817a96 add a comment 2018-09-29 05:45:58 -04:00
Niko Matsakis
5bee46108d remove the need to manually specify the QueryDescriptor
The macro can handle it now.
2018-09-29 05:44:34 -04:00
Niko Matsakis
2e40e9d1e5 rename BaseQueryContext to just QueryContext
And use it like `salsa::QueryContext` elsewhere.
2018-09-29 05:34:29 -04:00
Niko Matsakis
288fe5b25f add a "runtime" and use that from query context impls 2018-09-29 05:31:26 -04:00
Niko Matsakis
ac7b02b7ef add some comments and one more test 2018-09-29 04:53:59 -04:00
Niko Matsakis
7dcbaf4f2f add test for transparent queries 2018-09-29 04:50:08 -04:00
Niko Matsakis
1b873281a1 permit multiple queries in query_prototype 2018-09-29 04:34:19 -04:00
Niko Matsakis
fe21e28b8c add transparent storage and ability to select it in macro 2018-09-29 04:27:45 -04:00
Niko Matsakis
ed92e0f408 keep QueryState private 2018-09-28 17:47:40 -04:00
Niko Matsakis
fcd8e97500 rename storage to memoized 2018-09-28 17:47:09 -04:00
Niko Matsakis
8184723357 more comments 2018-09-28 17:39:21 -04:00
Niko Matsakis
16563b3666 some more comments 2018-09-28 15:50:34 -04:00
Niko Matsakis
9b4267f7c1 add a boilerplate reducing macro 2018-09-28 14:26:46 -04:00
Niko Matsakis
302a89fea5 rewrite to use parking lot rw-locks and make everything threadsafe 2018-09-28 14:02:39 -04:00
Niko Matsakis
086005dc52 convert the example into a test 2018-09-28 13:54:40 -04:00
Niko Matsakis
abb4345c08 add a bunch of comments, some new bounds 2018-09-28 13:53:15 -04:00
Niko Matsakis
ff7177a760 update readme 2018-09-28 11:48:21 -04:00
Niko Matsakis
17789040fa add a description, repository 2018-09-28 11:42:03 -04:00
Niko Matsakis
0182273fa3 make disclaimer stronger 2018-09-28 11:41:10 -04:00
Niko Matsakis
3646890b38 make the example build 2018-09-28 11:40:43 -04:00
Niko Matsakis
dcc14476f9 ask emacs to rustfmt on save 2018-09-28 11:26:57 -04:00
Niko Matsakis
798a8a418c add an example and get it building 2018-09-28 11:26:53 -04:00
Niko Matsakis
cae379fd06 import the code 2018-09-28 11:04:52 -04:00
Niko Matsakis
b26f0c17ea add readme, license, etc 2018-09-28 11:01:27 -04:00