Auto merge of #95418 - cjgillot:more-disk, r=davidtwco
Cache more queries on disk One of the principles of incremental compilation is to allow saving results on disk to avoid recomputing them. This PR investigates persisting a lot of queries whose result are to be saved into metadata. Some of the queries are cheap reads from HIR, but we may also want to get rid of these reads for incremental lowering.
This commit is contained in:
commit
e6a4afc3af
15 changed files with 103 additions and 83 deletions
|
@ -2142,7 +2142,7 @@ pub struct FnSig<'hir> {
|
|||
// The bodies for items are stored "out of line", in a separate
|
||||
// hashmap in the `Crate`. Here we just record the hir-id of the item
|
||||
// so it can fetched later.
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Debug, HashStable_Generic)]
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Decodable, Debug, HashStable_Generic)]
|
||||
pub struct TraitItemId {
|
||||
pub def_id: LocalDefId,
|
||||
}
|
||||
|
@ -2205,7 +2205,7 @@ pub enum TraitItemKind<'hir> {
|
|||
// The bodies for items are stored "out of line", in a separate
|
||||
// hashmap in the `Crate`. Here we just record the hir-id of the item
|
||||
// so it can fetched later.
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Debug, HashStable_Generic)]
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Decodable, Debug, HashStable_Generic)]
|
||||
pub struct ImplItemId {
|
||||
pub def_id: LocalDefId,
|
||||
}
|
||||
|
@ -2800,7 +2800,7 @@ impl<'hir> VariantData<'hir> {
|
|||
// The bodies for items are stored "out of line", in a separate
|
||||
// hashmap in the `Crate`. Here we just record the hir-id of the item
|
||||
// so it can fetched later.
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Debug, Hash, HashStable_Generic)]
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Decodable, Debug, Hash, HashStable_Generic)]
|
||||
pub struct ItemId {
|
||||
pub def_id: LocalDefId,
|
||||
}
|
||||
|
@ -3047,7 +3047,7 @@ pub enum AssocItemKind {
|
|||
// The bodies for items are stored "out of line", in a separate
|
||||
// hashmap in the `Crate`. Here we just record the hir-id of the item
|
||||
// so it can fetched later.
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Debug, HashStable_Generic)]
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Decodable, Debug, HashStable_Generic)]
|
||||
pub struct ForeignItemId {
|
||||
pub def_id: LocalDefId,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue