about summary refs log tree commit diff
path: root/src/librustc_metadata
AgeCommit message (Collapse)AuthorLines
2019-10-17Avoid injecting sanitizer runtimes into staticlibs (#64629).Christian Holler (:decoder)-1/+1
2019-10-16move syntax::ext to new crate syntax_expandMazdak Farrokhzad-5/+6
2019-10-16Make use of the return value of `HashSet::insert`Shotaro Yamada-3/+1
2019-10-15rustc_metadata: address some review comments.Eduard-Mihai Burtescu-4/+20
2019-10-15rustc_metadata: don't use more space than needed, for each Table.Eduard-Mihai Burtescu-33/+21
2019-10-15rustc_metadata: replace Entry table with one table for each of its fields ↵Eduard-Mihai Burtescu-597/+469
(AoS -> SoA).
2019-10-15rustc_metadata: use decoder::Metadata instead of &[u8] for Lazy<Table<T>>::get.Eduard-Mihai Burtescu-9/+19
2019-10-15rustc_metadata: generalize Table<T> to hold T, not Lazy<T>, elements.Eduard-Mihai Burtescu-48/+78
2019-10-15rustc_metadata: add a helper macro for recording into PerDefTable's.Eduard-Mihai Burtescu-127/+118
2019-10-15rustc_metadata: split tables into an usize-keyed Table and a DefIndex-keyed ↵Eduard-Mihai Burtescu-37/+75
PerDefTable.
2019-10-15rustc_metadata: replace Lazy<[Table<T>]> with Lazy<Table<T>>.Eduard-Mihai Burtescu-18/+46
2019-10-15rustc_metadata: parametrize Table by element type.Eduard-Mihai Burtescu-38/+43
2019-10-15rustc_metadata: rename index::Index to table::Table.Eduard-Mihai Burtescu-23/+23
2019-10-15rustc_metadata: use 0 in index::Index to indicate missing entries.Eduard-Mihai Burtescu-13/+7
2019-10-15rustc_metadata: use NonZeroUsize for the position of a Lazy.Eduard-Mihai Burtescu-25/+38
2019-10-15rustc_metadata: remove now-redundant length from the start of the encoding.Eduard-Mihai Burtescu-7/+3
2019-10-14Rollup merge of #65365 - skinny121:const-args-metadata, r=varkorTyler Mandry-26/+6
Include const generic arguments in metadata Fixes #64707 Fixes #61624 Fixes #64730 r? @varkor
2019-10-15Include const generic arguments in metadata.ben-26/+6
2019-10-14rustc_metadata: Remove resolutions for extern crate items from `CStore`Vadim Petrochenkov-18/+1
Use a more traditional scheme with providing them as a resolver output
2019-10-14rustc_metadata: Crate loader is immutableVadim Petrochenkov-27/+17
2019-10-14rustc_metadata: Improve documentation of `CrateMetadata`Vadim Petrochenkov-25/+36
2019-10-14rustc_metadata: Use `CrateSource` where appropriateVadim Petrochenkov-67/+37
2019-10-14rustc_metadata: Privatize private code and remove dead codeVadim Petrochenkov-244/+191
2019-10-14Auto merge of #65240 - michaelwoerister:sp-review-3, r=Mark-Simulacrumbors-23/+54
self-profiling: Add events for metadata loading (plus a small dep-tracking optimization) This PR - adds self-profiling events related to loading things from crate metadata - makes the compiler cache the `DepNodeIndex` of upstream crates, so that they don't have to be looked up over and over. The commits are best reviewed in isolation. Self-profiling tracking issue: https://github.com/rust-lang/rust/issues/58967 r? @Mark-Simulacrum cc @wesleywiser
2019-10-10Auto merge of #65153 - da-x:issue-58017, r=petrochenkovbors-5/+6
Improve message when attempting to instantiate tuple structs with private fields Fixes #58017, fixes #39703. ``` error[E0603]: tuple struct `Error` is private --> main.rs:22:16 | 2 | pub struct Error(usize, pub usize, usize); | ----- ----- field is private | | | field is private ... 22 | let x = a::Error(3, 1, 2); | ^^^^^ | = note: a tuple struct constructor is private if any of its fields is private ```
2019-10-10Add 'unlikely' annotation to branch in crate DepNodeIndex caching.Michael Woerister-1/+3
2019-10-09resolve: Keep field spans for diagnosticsVadim Petrochenkov-5/+6
2019-10-09Remove some outdated comments about dependency tracking from cstore_impl.Michael Woerister-10/+0
2019-10-09self-profiling: Add events for tracking crate metadata loading related ↵Michael Woerister-0/+8
activities.
2019-10-09Cache the DepNodeIndex of upstream crates in order to avoid multiple locks ↵Michael Woerister-13/+44
and table lookups on each access of crate metadata.
2019-10-07Address review comments.Charles Lew-1/+1
2019-10-07Add feature gate for raw_dylib.Charles Lew-1/+14
2019-10-04Fix lonely backtickYechan Bae-1/+1
2019-10-04Rollup merge of #65026 - petrochenkov:ice1, r=eddybMazdak Farrokhzad-124/+82
metadata: Some crate loading cleanup So, my goal was to fix caching of loaded crates which is broken and causes ICEs like #56935 or #64450. While investigating I found that the code is pretty messy and likes to confuse various things that look similar but are actually different. This PR does some initial cleanup in that area, I hope to get to the caching itself a bit later.
2019-10-04Rollup merge of #64874 - matthewjasper:simplify-euv, r=eddybMazdak Farrokhzad-30/+4
Simplify ExprUseVisitor * Remove HIR const qualification * Remove parts of ExprUseVisitor that aren't being used r? @eddyb
2019-10-04Rollup merge of #64817 - csmoe:closure, r=nikomatsakisMazdak Farrokhzad-1/+1
Replace ClosureSubsts with SubstsRef Addresses https://github.com/rust-lang/rust/issues/42340 part 3 https://github.com/rust-lang/rust/pull/59312 might benefit from this clean up. r? @nikomatsakis
2019-10-04metadata: Remove unused `Option` from `fn dlsym_proc_macros`Vadim Petrochenkov-15/+12
2019-10-04metadata: Remove `CrateMetadata::name`Vadim Petrochenkov-11/+6
It duplicates `CrateRoot::name`
2019-10-04metadata: Remove `CrateMetadata::host_lib`Vadim Petrochenkov-9/+1
It was only used for retreiving edition, which was a bug. In case of dual proc macros the edition should be taken from the target crate version, like any other metadata.
2019-10-04metadata: Simplify interface of `resolve_crate`Vadim Petrochenkov-57/+45
2019-10-04metadata: Remove `locator::Context::ident`Vadim Petrochenkov-27/+22
It's a crate name after renaming, so it's entirely irrelevant to crate loading
2019-10-04metadata: Do not pass crate name after renaming to `register_crate`Vadim Petrochenkov-5/+3
It's entirely irrelevant to crate loading
2019-10-04metadata: Remove `CrateMetadata::imported_name`Vadim Petrochenkov-8/+1
It's entirely irrelevant to crate loading
2019-10-03generate ClosureSubsts from SubstsRefcsmoe-1/+1
2019-09-30Remove HIR based const qualificationMatthew Jasper-30/+4
2019-09-29remove indexed_vec re-export from rustc_data_structurescsmoe-4/+4
2019-09-29remove bit_set re-export from rustc_data_structurescsmoe-1/+2
2019-09-29Rollup merge of #64824 - Mark-Simulacrum:no-stable-hasher-result-everywhere, ↵Mazdak Farrokhzad-2/+2
r=michaelwoerister No StableHasherResult everywhere This removes the generic parameter on `StableHasher`, instead moving it to the call to `finish`. This has the side-effect of making all `HashStable` impls nicer, since we no longer need the verbose `<W: StableHasherResult>` that previously existed -- often forcing line wrapping. This is done for two reasons: * we should avoid false "generic" dependency on the result of StableHasher * we don't need to codegen two/three copies of all the HashStable impls when they're transitively used to produce a fingerprint, u64, or u128. I haven't measured, but this might actually make our artifacts somewhat smaller too. * Easier to understand/read/write code -- the result of the stable hasher is irrelevant when writing a hash impl.
2019-09-28Rollup merge of #64678 - tomtau:fix/no-std-error, r=matthewjasperMazdak Farrokhzad-8/+9
added more context for duplicate lang item errors (fixes #60561) Some more information about #60561 -- these errors are pretty common when one works in restrictive environments with `no_std` or customized `std`, but they don't provide much context for debugging, as any transitive dependency could have brought in `std` crate. With that, currently, one needs to use something like `cargo tree` and investigate transitive dependencies one by one. It'll be more helpful to know at least the crate that uses `std` (which `cargo tree` doesn't show) to pin down this investigation when debugging. I'm not sure what the best way to get this context is inside rustc internals (I'm new to them). I found that `all_crate_nums` query returns the crates in some dependency order, so printing out the name of the preceding crate seems to do the trick. But I welcome suggestions if this can be done in a better way.
2019-09-28Switch over all StableHash impls to new formatMark Rousskov-2/+2