rust/compiler/rustc_interface/src
Nika Layzell 6d1650fe45 proc_macro: use crossbeam channels for the proc_macro cross-thread bridge
This is done by having the crossbeam dependency inserted into the
proc_macro server code from the server side, to avoid adding a
dependency to proc_macro.

In addition, this introduces a -Z command-line option which will switch
rustc to run proc-macros using this cross-thread executor. With the
changes to the bridge in #98186, #98187, #98188 and #98189, the
performance of the executor should be much closer to same-thread
execution.

In local testing, the crossbeam executor was substantially more
performant than either of the two existing CrossThread strategies, so
they have been removed to keep things simple.
2022-07-29 17:38:12 -04:00
..
callbacks.rs typo 2022-05-23 22:51:34 +02:00
interface.rs lint: add bad opt access internal lint 2022-07-27 11:24:27 +01:00
lib.rs Fully stabilize NLL 2022-06-03 17:16:41 -04:00
passes.rs session: disable internal lints for rustdoc 2022-07-27 11:24:27 +01:00
proc_macro_decls.rs update Finder to store LocalDefId 2022-04-09 14:00:22 -04:00
queries.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
tests.rs proc_macro: use crossbeam channels for the proc_macro cross-thread bridge 2022-07-29 17:38:12 -04:00
util.rs lint: add bad opt access internal lint 2022-07-27 11:24:27 +01:00