bjorn3
e2d3e09b9c
Prevent macro ambiguity errors
...
The previous macro_rules! parsers failed when an additional modifier was added
with ambiguity errors. The error is pretty unclear as to what exactly the cause
here is, but this change simplifies the argument parsing code such that the
error is avoided.
2021-10-02 13:00:19 -04:00
Michael Woerister
2b60338ee9
Make DefPathHash->DefId panic for if the mapping fails.
...
We only use this mapping for cases where we know that it must succeed.
Letting it panic otherwise makes it harder to use the API in unsupported
ways.
2021-09-14 13:56:33 +02:00
Michael Woerister
5445715c20
Remove RawDefId tracking infrastructure from incr. comp. framework.
...
This infrastructure is obsolete now with the new encoding scheme for
the DefPathHash->DefIndex maps in crate metadata.
2021-09-14 13:56:33 +02:00
Aaron Hill
6fd6624045
Fix rebase fallout
2021-06-04 12:54:28 -05:00
Camille GILLOT
0e71283495
Restrict access to crate_name.
...
Also remove original_crate_name, which had the exact same implementation
2021-06-02 18:35:32 +02:00
Camille GILLOT
28afaeec17
Make is_private_dep a query.
2021-06-01 21:03:55 +02:00
Camille Gillot
0f0f3138cb
Revert "Reduce the amount of untracked state in TyCtxt"
2021-06-01 09:05:22 +02:00
Camille GILLOT
ee94fbb607
Make allocator_kind a query.
2021-05-30 19:58:01 +02:00
Camille GILLOT
10fb4b2fe5
Restrict access to crate_name.
...
Also remove original_crate_name, which had the exact same implementation
2021-05-30 19:54:04 +02:00
Camille GILLOT
5d9f96ab27
Make resolutions a query.
2021-05-30 19:47:00 +02:00
bjorn3
d0ec85d3fb
Merge CrateDisambiguator into StableCrateId
2021-05-30 12:51:34 +02:00
Dylan DPC
e7c9469786
Rollup merge of #85583 - cjgillot:no-previous-dg, r=petrochenkov
...
Get rid of PreviousDepGraph.
Its only role is to access the `SerializedDepGraph`.
2021-05-27 03:02:09 +02:00
LeSeulArtichaut
6f64eb1fe6
Make THIR building a stealable query
2021-05-22 14:36:22 +02:00
Camille GILLOT
a50f1e949b
Get rid of PreviousDepGraph.
2021-05-22 14:14:23 +02:00
bjorn3
15bfd9da85
Introduce CompileMonoItem DepNode
2021-04-12 13:58:12 +02:00
Camille GILLOT
6bfaf3a9cb
Stream the dep-graph to a file.
2021-03-30 18:09:59 +02:00
Camille GILLOT
f96e960ccf
Access the session directly from DepContext.
2021-02-20 22:53:46 +01:00
Camille GILLOT
cdc0b199a9
Split DepKindStruct in two.
2021-02-19 17:51:56 +01:00
Camille GILLOT
1ac21e4571
Use QueryCtxt in DepKindStruct.
2021-02-19 17:51:56 +01:00
Camille GILLOT
b27266fdb2
Use a QueryContext for try_mark_green.
2021-02-19 17:51:56 +01:00
Camille GILLOT
ea3d465c95
Move try_load_from_on_disk_cache to the QueryContext.
2021-02-19 17:51:55 +01:00
Camille GILLOT
5d71b99690
Make QueryEngine opaque to TyCtxt.
2021-02-19 17:51:54 +01:00
Camille GILLOT
2db2776589
Wrap TyCtxt inside a QueryCtxt for queries.
2021-02-19 17:51:50 +01:00
Camille GILLOT
dab9b89221
Decouple the on-disk cache from the query engine.
2021-02-19 17:51:50 +01:00
Camille GILLOT
211b05aef3
Don't require a QueryContext to access the DepGraph.
2021-02-19 17:51:49 +01:00
pierwill
b29353af09
Edit rustc_middle::dep_graph module documentation
...
Co-authored-by: Joshua Nelson <joshua@yottadb.com >
Co-authored-by: Camelid <camelidcamel@gmail.com >
2021-01-22 15:15:05 -08:00
bors
fcbd305ee9
Auto merge of #80602 - tgnottingham:cratemetadata_you_aint_special, r=michaelwoerister
...
Remove DepKind::CrateMetadata and pre-allocation of DepNodes
Remove much of the special-case handling around crate metadata
dependency tracking by replacing `DepKind::CrateMetadata` and the
pre-allocation of corresponding `DepNodes` with on-demand invocation
of the `crate_hash` query.
2021-01-15 21:13:35 +00:00
Tyson Nottingham
62139ffad4
Remove DepKind::CrateMetadata and pre-allocation of DepNodes
...
Remove much of the special-case handling around crate metadata
dependency tracking by replacing `DepKind::CrateMetadata` and the
pre-allocation of corresponding `DepNodes` with on-demand invocation
of the `crate_hash` query.
2021-01-12 11:22:57 -08:00
Joshua Nelson
f7d261c3b1
Get rid of DepConstructor
...
This removes fully 235 unused functions.
2021-01-08 18:12:42 -05:00
Camille GILLOT
0f334c3642
Check is_anon outside of can_reconstruct_query_key.
2021-01-08 18:03:27 +01:00
Camille GILLOT
5fcc537d18
Make DepConstructor a module.
2021-01-08 18:02:04 +01:00
Camille GILLOT
921b284167
Make force_from_dep_node a function pointer.
2021-01-08 18:01:50 +01:00
Camille GILLOT
bee1fbb67e
Make try_load_from_on_disk_cache a function pointer.
2021-01-08 17:59:27 +01:00
Camille GILLOT
438c430c76
Make can_reconstruct_query_key a function pointer.
2021-01-08 17:57:25 +01:00
Camille GILLOT
5027f1c6ea
Use a field for has_params.
2021-01-08 17:55:46 +01:00
Camille GILLOT
d8c87ac080
Use a field for is_eval_always.
2021-01-08 17:53:38 +01:00
Camille GILLOT
24f0b957e7
Use a field for is_anon.
2021-01-08 17:51:53 +01:00
Camille GILLOT
016ea6b319
Use a side-table of consts instead of matching on the DepKind enum.
2021-01-08 17:48:02 +01:00
Camille GILLOT
d1220fdedf
Simplify DepNodeParams.
2021-01-08 17:29:49 +01:00
Camille GILLOT
79a57625f5
Move DepNodeExt outside of the macro.
2021-01-08 17:29:48 +01:00
Tyson Nottingham
7795801902
rustc_query_system: explicitly register reused dep nodes
...
Register nodes that we've reused from the previous session explicitly
with `OnDiskCache`. Previously, we relied on this happening as a side
effect of accessing the nodes in the `PreviousDepGraph`. For the sake of
performance and avoiding unintended side effects, register explictily.
2020-12-18 18:53:12 -08:00
Aaron Hill
3918b82993
Use def_path_hash_to_def_id when re-using a RawDefId
...
Fixes #79890
Previously, we just copied a `RawDefId` from the 'old' map to the 'new'
map. However, the `RawDefId` for a given `DefPathHash` may be different
in the current compilation session. Using `def_path_hash_to_def_id`
ensures that the `RawDefId` we use is valid in the current session.
2020-12-10 16:04:19 -05:00
Aaron Hill
7a9aa4f980
Fix rebase fallout
2020-11-25 15:08:51 -05:00
Aaron Hill
e935d3832c
Lazy DefPath decoding for incremental compilation
2020-11-25 14:49:15 -05:00
bors
db79d2f637
Auto merge of #79216 - Aaron1011:opt-on-disk-cache, r=pnkfelix
...
Only create `OnDiskCache` in incremental compilation mode
This lets us skip doing useless work when we're not in incremental
compilation mode.
2020-11-25 16:22:11 +00:00
Aaron Hill
d00ed01876
Only create OnDiskCache in incremental compilation mode
...
This lets us skip doing useless work when we're not in incremental
compilation mode.
2020-11-19 15:50:55 -05:00
Tyson Nottingham
05dde137ca
Make PackedFingerprint's Fingerprint private
2020-11-18 15:10:43 -08:00
Tyson Nottingham
f09d474836
Use PackedFingerprint in DepNode to reduce memory consumption
2020-11-18 12:49:09 -08:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00