-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.WG-compiler-performanceWorking group: Compiler PerformanceWorking group: Compiler Performance
Description
DepGraph::previous_work_products is a field in the dep-graph that contains the list of object files cached during the previous compilation session. In theory, this information is available already at the time when we load the previous dep-graph and thus the field could be made immutable (i.e. not use an RwLock
) and be initialized at DepGraph
construction time.
Refactoring this would need the following steps:
- Load the previous work products data already in load_dep_graph() instead of in dep_graph_tcx_init()
- Pass previous work products data as parameter to DepGraph::new()
- Remove the
RwLock
around the DepGraph::previous_work_products field.
cc @rust-lang/wg-compiler-performance
Metadata
Metadata
Assignees
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.WG-compiler-performanceWorking group: Compiler PerformanceWorking group: Compiler Performance