rust/compiler
Mark Rousskov e240783a4d Switch QueryJobId to a single global counter
This replaces the per-shard counters with a single global counter, simplifying
the JobId struct down to just a u64 and removing the need to pipe a DepKind
generic through a bunch of code. The performance implications on non-parallel
compilers are likely minimal (this switches to `Cell<u64>` as the backing
storage over a `u64`, but the latter was already inside a `RefCell` so it's not
really a significance divergence). On parallel compilers, the cost of a single
global u64 counter may be more significant: it adds a serialization point in
theory. On the other hand, we can imagine changing the counter to have a
thread-local component if it becomes worrisome or some similar structure.

The new design is sufficiently simpler that it warrants the potential for slight
changes down the line if/when we get parallel compilation to be more of a
default.

A u64 counter, instead of u32 (the old per-shard width), is chosen to avoid
possibly overflowing it and causing problems; it is effectively impossible that
we would overflow a u64 counter in this context.
2022-02-08 18:49:55 -05:00
..
rustc remove unused jemallocator crate 2022-01-28 16:56:05 +01:00
rustc_apfloat
rustc_arena Remove unused dep from rustc_arena 2022-02-02 17:37:14 +01:00
rustc_ast Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_ast_lowering More let_else adoptions 2022-02-02 17:11:01 +01:00
rustc_ast_passes add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_ast_pretty Rollup merge of #93515 - dtolnay:convenience, r=davidtwco 2022-02-03 22:20:25 +09:00
rustc_attr More let_else adoptions 2022-02-02 17:11:01 +01:00
rustc_borrowck Rollup merge of #93590 - est31:let_else, r=lcnr 2022-02-02 19:34:07 +01:00
rustc_builtin_macros add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_codegen_cranelift Use an indexmap to avoid sorting LocalDefIds 2022-01-22 22:34:16 -06:00
rustc_codegen_gcc Merge landing_pad and set_cleanup into cleanup_landing_pad 2022-01-24 14:10:05 +01:00
rustc_codegen_llvm Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_codegen_ssa Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_const_eval Rollup merge of #92802 - compiler-errors:deduplicate-stack-trace, r=oli-obk 2022-02-03 22:20:24 +09:00
rustc_data_structures Fix isize optimization in StableHasher for big-endian architectures 2022-02-03 11:47:41 +01:00
rustc_driver Rollup merge of #93566 - Aaron1011:rustc-backtrace, r=davidtwco 2022-02-03 22:20:26 +09:00
rustc_error_codes Rollup merge of #88205 - danii:e0772, r=GuillaumeGomez 2022-01-29 14:46:29 +01:00
rustc_errors add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_expand add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_feature add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #93285 - JulianKnodt:const_eq_2, r=oli-obk 2022-02-01 23:18:01 +00:00
rustc_hir_pretty try apply rustc_pass_by_value to Span 2022-01-27 11:29:41 +01:00
rustc_incremental add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_index implement lint for suspicious auto trait impls 2022-02-01 09:55:19 +01:00
rustc_infer Auto merge of #93285 - JulianKnodt:const_eq_2, r=oli-obk 2022-02-01 23:18:01 +00:00
rustc_interface Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_lexer
rustc_lint Rollup merge of #93290 - lcnr:same_type, r=jackh726 2022-02-01 16:08:05 +01:00
rustc_lint_defs implement lint for suspicious auto trait impls 2022-02-01 09:55:19 +01:00
rustc_llvm Windows: Disable LLVM crash dialog boxes. 2022-01-27 16:53:17 -08:00
rustc_log
rustc_macros Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_metadata Auto merge of #93539 - petrochenkov:doclink, r=camelid,michaelwoerister 2022-02-05 18:27:06 +00:00
rustc_middle Switch QueryJobId to a single global counter 2022-02-08 18:49:55 -05:00
rustc_mir_build Rollup merge of #93589 - est31:option_then, r=cjgillot 2022-02-03 22:20:27 +09:00
rustc_mir_dataflow rustc_mir_dataflow: use iter::once instead of Some().into_iter 2022-02-03 13:52:26 -07:00
rustc_mir_transform Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_monomorphize add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_parse clippy::perf fixes 2022-02-03 21:45:51 +01:00
rustc_parse_format
rustc_passes Auto merge of #93466 - cjgillot:query-dead, r=nagisa 2022-02-02 02:29:32 +00:00
rustc_plugin_impl
rustc_privacy add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_query_impl Switch QueryJobId to a single global counter 2022-02-08 18:49:55 -05:00
rustc_query_system Switch QueryJobId to a single global counter 2022-02-08 18:49:55 -05:00
rustc_resolve Auto merge of #93312 - pierwill:map-all-local-trait-impls, r=cjgillot 2022-02-02 15:36:12 +00:00
rustc_save_analysis More let_else adoptions 2022-02-02 17:11:01 +01:00
rustc_serialize Remove two unnecessary transmutes from opaque Encoder and Decoder 2022-01-31 18:25:05 +01:00
rustc_session Rollup merge of #93608 - nnethercote:speed-up-find_library_crate, r=petrochenkov 2022-02-04 18:42:16 +01:00
rustc_span add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_symbol_mangling add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_target Rollup merge of #92021 - woodenarrow:br_single_fp_element, r=Mark-Simulacrum 2022-02-01 16:08:03 +01:00
rustc_trait_selection Auto merge of #93285 - JulianKnodt:const_eq_2, r=oli-obk 2022-02-01 23:18:01 +00:00
rustc_traits Remove generalization over projection 2022-01-28 00:25:36 +00:00
rustc_ty_utils remove TyS::same_type 2022-02-01 11:21:26 +01:00
rustc_type_ir
rustc_typeck Rollup merge of #93630 - matthiaskrgr:clipperf, r=oli-obk 2022-02-04 14:59:05 +01:00