about summary refs log tree commit diff
path: root/src/librustc/metadata
AgeCommit message (Collapse)AuthorLines
2015-11-26split the metadata code into rustc_metadataAriel Ben-Yehuda-8942/+0
tests & rustdoc still broken
2015-11-26make check worksAriel Ben-Yehuda-6/+39
2015-11-26make CrateStore a trait objectAriel Ben-Yehuda-78/+95
rustdoc still broken
2015-11-26remove csearch from the rest of rustcAriel Ben-Yehuda-13/+152
2015-11-26remove csearch from resolve and typeckAriel Ben-Yehuda-7/+82
2015-11-26stop using csearch in librustc and librustc_lintAriel Ben-Yehuda-1/+325
2015-11-26Consider a crate staged if it has `stable` or `unstable` in its rootVadim Petrochenkov-10/+2
2015-11-25Remove `#[staged_api]`Vadim Petrochenkov-4/+11
2015-11-25Auto merge of #30034 - brson:rust_path, r=alexcrichtonbors-95/+4
This was to support rustpkg but is unused now.
2015-11-24Remove RUST_PATH from compilerBrian Anderson-95/+4
This was to support rustpkg but is unused now.
2015-11-20rustc: Fix `extern crate` being order dependentAlex Crichton-5/+35
This commit fixes a bug where a crate could fail to compile depending on the order of `extern crate` directives at the top of the crate. Specifically, if the same crate is found at two locations, then if it's loaded first via `--extern` it will not emit a duplicate warning, but if it's first loaded transitively via a dep and *then* via `--extern` an error will be emitted. The loader was tweaked to catch this scenario and coalesce the loading of these two crates to prevent errors from being emitted.
2015-11-18Port a bunch of code new-visitor; all of these ports wereNiko Matsakis-29/+30
straightforward uses of `visit_all_items`. In some cases I had to remove empty `visit_item` calls that were just to suppress visiting nested items.
2015-11-18Rework the `IdVisitor` so that it only visits item contents (and doesn'tNiko Matsakis-5/+1
visit nested items). This is what all clients wanted anyhow.
2015-11-16ImplItem_ -> ImplItemKind renameOliver Schneider-1/+1
2015-11-16rename ImplItem_::*ImplItem to ImplItem_::*Oliver Schneider-1/+1
[breaking change]
2015-11-13Store a valid name for the root module in metadatamitaa-1/+1
2015-11-06Preserve public static items across LTOarcnmx-0/+13
2015-11-02Merged windows and unix `find_libdir()`Vadim Chugunov-6/+0
2015-10-31Windows: Move target libraries to $rustroot/lib/rustlib/... - for symmetry ↵Vadim Chugunov-2/+1
with all other platforms.
2015-10-28Log the error we get when we fail to load metadata from a library.JP Sugarbroad-2/+2
2015-10-24Remove bare semicolonsFlorian Hahn-1/+1
2015-10-13Merge VariantData and VariantData_Vadim Petrochenkov-4/+4
2015-10-13Merge struct fields and struct kindVadim Petrochenkov-3/+3
2015-10-13Dict -> Struct, StructDef -> VariantData, def -> dataVadim Petrochenkov-5/+5
2015-10-13Fix rebaseVadim Petrochenkov-2/+2
2015-10-13Remove now redundant NodeId from VariantVadim Petrochenkov-1/+1
2015-10-13Decouple structure kinds from NodeIdsVadim Petrochenkov-9/+4
2015-10-07use the struct's ctor-id as its variant def-idAriel Ben-Yehuda-4/+1
this makes the code cleaner, and is a complement to the cleanup on the HIR side.
2015-10-03Auto merge of #28521 - arielb1:metadiet, r=eddybbors-355/+363
libcore.rlib reduced from 19121 kiB to 15934 kiB - 20% win. The librustc encoded AST is 9013500 bytes long - for the record, librustc consists of about 2254126 characters. Might be worth looking at. r? @eddyb
2015-10-02unify the 2 impl indexesAriel Ben-Yehuda-75/+38
2015-10-02Merge branch 'master' into metadietAriel Ben-Yehuda-592/+537
rlib sizes: 1445222 liballoc_jemalloc-bb943c5a.rlib 10664 liballoc_system-bb943c5a.rlib 143592 libarena-bb943c5a.rlib 3639102 libcollections-bb943c5a.rlib 16316910 libcore-bb943c5a.rlib 214154 libflate-bb943c5a.rlib 231440 libfmt_macros-bb943c5a.rlib 536976 libgetopts-bb943c5a.rlib 209672 libgraphviz-bb943c5a.rlib 408008 liblibc-bb943c5a.rlib 189610 liblog-bb943c5a.rlib 662184 librand-bb943c5a.rlib 605112 librbml-bb943c5a.rlib 1397820 librustc_back-bb943c5a.rlib 38383772 librustc-bb943c5a.rlib 12842 librustc_bitflags-bb943c5a.rlib 2297822 librustc_borrowck-bb943c5a.rlib 571064 librustc_data_structures-bb943c5a.rlib 9356542 librustc_driver-bb943c5a.rlib 9477226 librustc_front-bb943c5a.rlib 1605698 librustc_lint-bb943c5a.rlib 77111720 librustc_llvm-bb943c5a.rlib 4783848 librustc_mir-bb943c5a.rlib 3534256 librustc_platform_intrinsics-bb943c5a.rlib 593038 librustc_privacy-bb943c5a.rlib 3122202 librustc_resolve-bb943c5a.rlib 14185212 librustc_trans-bb943c5a.rlib 11940328 librustc_typeck-bb943c5a.rlib 1634264 librustc_unicode-bb943c5a.rlib 15564160 librustdoc-bb943c5a.rlib 8153964 libstd-bb943c5a.rlib 30589338 libsyntax-bb943c5a.rlib 897110 libterm-bb943c5a.rlib 1360662 libtest-bb943c5a.rlib
2015-10-02Auto merge of #28793 - Ms2ger:AttrStyle, r=alexcrichtonbors-1/+1
2015-10-01remove the code that encodes type parameter defsAriel Ben-Yehuda-3/+1
there are no type parameter defs in the relevant range
2015-10-01don't store method_ftyAriel Ben-Yehuda-29/+8
It is redundant with the item type. This is not much of a win, as there are really not *that* many methods, but it makes the code uglier.
2015-10-01don't duplicate item types between encoder <-> astencodeAriel Ben-Yehuda-1/+1
a 5% win on libcore 512576 liballoc-bb943c5a.rlib 1425106 liballoc_jemalloc-bb943c5a.rlib 10070 liballoc_system-bb943c5a.rlib 141332 libarena-bb943c5a.rlib 3611586 libcollections-bb943c5a.rlib 16293400 libcore-bb943c5a.rlib 195018 libflate-bb943c5a.rlib 231940 libfmt_macros-bb943c5a.rlib 532704 libgetopts-bb943c5a.rlib 208094 libgraphviz-bb943c5a.rlib 383522 liblibc-bb943c5a.rlib 183786 liblog-bb943c5a.rlib 658332 librand-bb943c5a.rlib 567676 librbml-bb943c5a.rlib 1376114 librustc_back-bb943c5a.rlib 37134688 librustc-bb943c5a.rlib 12826 librustc_bitflags-bb943c5a.rlib 2241942 librustc_borrowck-bb943c5a.rlib 513598 librustc_data_structures-bb943c5a.rlib 9340348 librustc_driver-bb943c5a.rlib 8880472 librustc_front-bb943c5a.rlib 1590548 librustc_lint-bb943c5a.rlib 79149202 librustc_llvm-bb943c5a.rlib 4536740 librustc_mir-bb943c5a.rlib 3528866 librustc_platform_intrinsics-bb943c5a.rlib 588514 librustc_privacy-bb943c5a.rlib 3068562 librustc_resolve-bb943c5a.rlib 13982508 librustc_trans-bb943c5a.rlib 11799790 librustc_typeck-bb943c5a.rlib 1637532 librustc_unicode-bb943c5a.rlib 15611582 librustdoc-bb943c5a.rlib 2649520 libserialize-bb943c5a.rlib 8095050 libstd-bb943c5a.rlib 29391260 libsyntax-bb943c5a.rlib 891210 libterm-bb943c5a.rlib
2015-10-01improve the tyencode abbrev formatAriel Ben-Yehuda-36/+23
3% win on libcore 528828 liballoc-bb943c5a.rlib 1425126 liballoc_jemalloc-bb943c5a.rlib 10090 liballoc_system-bb943c5a.rlib 144904 libarena-bb943c5a.rlib 3773896 libcollections-bb943c5a.rlib 17075242 libcore-bb943c5a.rlib 195770 libflate-bb943c5a.rlib 234702 libfmt_macros-bb943c5a.rlib 536342 libgetopts-bb943c5a.rlib 212028 libgraphviz-bb943c5a.rlib 397068 liblibc-bb943c5a.rlib 185038 liblog-bb943c5a.rlib 680782 librand-bb943c5a.rlib 577574 librbml-bb943c5a.rlib 1381992 librustc_back-bb943c5a.rlib 37554736 librustc-bb943c5a.rlib 12826 librustc_bitflags-bb943c5a.rlib 2257392 librustc_borrowck-bb943c5a.rlib 533858 librustc_data_structures-bb943c5a.rlib 9338878 librustc_driver-bb943c5a.rlib 8960016 librustc_front-bb943c5a.rlib 1594212 librustc_lint-bb943c5a.rlib 79159342 librustc_llvm-bb943c5a.rlib 4590656 librustc_mir-bb943c5a.rlib 3529292 librustc_platform_intrinsics-bb943c5a.rlib 590688 librustc_privacy-bb943c5a.rlib 3084134 librustc_resolve-bb943c5a.rlib 14032890 librustc_trans-bb943c5a.rlib 11833852 librustc_typeck-bb943c5a.rlib 1641496 librustc_unicode-bb943c5a.rlib 15611582 librustdoc-bb943c5a.rlib 2693764 libserialize-bb943c5a.rlib 8266920 libstd-bb943c5a.rlib 29573790 libsyntax-bb943c5a.rlib 895484 libterm-bb943c5a.rlib
2015-10-01don't mark_stable_position needlessly in tyencodeAriel Ben-Yehuda-6/+13
another 1% improvement in libcore size - also 1% in librustc 550076 liballoc-bb943c5a.rlib 1425150 liballoc_jemalloc-bb943c5a.rlib 10100 liballoc_system-bb943c5a.rlib 149372 libarena-bb943c5a.rlib 3964144 libcollections-bb943c5a.rlib 17744342 libcore-bb943c5a.rlib 197420 libflate-bb943c5a.rlib 241582 libfmt_macros-bb943c5a.rlib 550560 libgetopts-bb943c5a.rlib 219444 libgraphviz-bb943c5a.rlib 402668 liblibc-bb943c5a.rlib 187158 liblog-bb943c5a.rlib 704588 librand-bb943c5a.rlib 594522 librbml-bb943c5a.rlib 1392516 librustc_back-bb943c5a.rlib 38196500 librustc-bb943c5a.rlib 12826 librustc_bitflags-bb943c5a.rlib 2286918 librustc_borrowck-bb943c5a.rlib 561714 librustc_data_structures-bb943c5a.rlib 9356400 librustc_driver-bb943c5a.rlib 9378650 librustc_front-bb943c5a.rlib 1603680 librustc_lint-bb943c5a.rlib 79184908 librustc_llvm-bb943c5a.rlib 4746824 librustc_mir-bb943c5a.rlib 3532474 librustc_platform_intrinsics-bb943c5a.rlib 592664 librustc_privacy-bb943c5a.rlib 3114986 librustc_resolve-bb943c5a.rlib 14153174 librustc_trans-bb943c5a.rlib 11918356 librustc_typeck-bb943c5a.rlib 1669986 librustc_unicode-bb943c5a.rlib 15611582 librustdoc-bb943c5a.rlib 2836912 libserialize-bb943c5a.rlib 8549994 libstd-bb943c5a.rlib 30399156 libsyntax-bb943c5a.rlib 907058 libterm-bb943c5a.rlib
2015-10-01Stop re-exporting AttrStyle's variants and rename them.Ms2ger-1/+1
2015-10-01share stored predicatesAriel Ben-Yehuda-66/+115
while most of the duplication in predicates was caused by stubs, this is still a 5% win on libcore. 567924 liballoc-bb943c5a.rlib 1425564 liballoc_jemalloc-bb943c5a.rlib 10520 liballoc_system-bb943c5a.rlib 154842 libarena-bb943c5a.rlib 4113790 libcollections-bb943c5a.rlib 18513674 libcore-bb943c5a.rlib 199466 libflate-bb943c5a.rlib 249548 libfmt_macros-bb943c5a.rlib 560488 libgetopts-bb943c5a.rlib 226772 libgraphviz-bb943c5a.rlib 442966 liblibc-bb943c5a.rlib 189884 liblog-bb943c5a.rlib 736764 librand-bb943c5a.rlib 609874 librbml-bb943c5a.rlib 1411678 librustc_back-bb943c5a.rlib 38770354 librustc-bb943c5a.rlib 12868 librustc_bitflags-bb943c5a.rlib 2327196 librustc_borrowck-bb943c5a.rlib 582178 librustc_data_structures-bb943c5a.rlib 9379344 librustc_driver-bb943c5a.rlib 9540324 librustc_front-bb943c5a.rlib 1614996 librustc_lint-bb943c5a.rlib 79217876 librustc_llvm-bb943c5a.rlib 4833518 librustc_mir-bb943c5a.rlib 3535794 librustc_platform_intrinsics-bb943c5a.rlib 603190 librustc_privacy-bb943c5a.rlib 3158032 librustc_resolve-bb943c5a.rlib 14300126 librustc_trans-bb943c5a.rlib 12024054 librustc_typeck-bb943c5a.rlib 1834852 librustc_unicode-bb943c5a.rlib 15611582 librustdoc-bb943c5a.rlib 2926594 libserialize-bb943c5a.rlib 8780060 libstd-bb943c5a.rlib 30772000 libsyntax-bb943c5a.rlib 917984 libterm-bb943c5a.rlib 1369754 libtest-bb943c5a.rlib
2015-10-01add a cross-reference indexAriel Ben-Yehuda-105/+149
it still does not *do* anything
2015-10-01remove unneeded tags from metadataAriel Ben-Yehuda-69/+11
stage1 release rlib sizes: 580890 liballoc-bb943c5a.rlib 1425558 liballoc_jemalloc-bb943c5a.rlib 10514 liballoc_system-bb943c5a.rlib 157192 libarena-bb943c5a.rlib 4316234 libcollections-bb943c5a.rlib 19580128 libcore-bb943c5a.rlib 199498 libflate-bb943c5a.rlib 249328 libfmt_macros-bb943c5a.rlib 560406 libgetopts-bb943c5a.rlib 233620 libgraphviz-bb943c5a.rlib 442964 liblibc-bb943c5a.rlib 190178 liblog-bb943c5a.rlib 778488 librand-bb943c5a.rlib 621972 librbml-bb943c5a.rlib 1415040 librustc_back-bb943c5a.rlib 38849082 librustc-bb943c5a.rlib 12862 librustc_bitflags-bb943c5a.rlib 2331690 librustc_borrowck-bb943c5a.rlib 616880 librustc_data_structures-bb943c5a.rlib 9386582 librustc_driver-bb943c5a.rlib 9600440 librustc_front-bb943c5a.rlib 1615058 librustc_lint-bb943c5a.rlib 79218480 librustc_llvm-bb943c5a.rlib 5020974 librustc_mir-bb943c5a.rlib 3535448 librustc_platform_intrinsics-bb943c5a.rlib 603640 librustc_privacy-bb943c5a.rlib 3163628 librustc_resolve-bb943c5a.rlib 14326646 librustc_trans-bb943c5a.rlib 12033174 librustc_typeck-bb943c5a.rlib 1838202 librustc_unicode-bb943c5a.rlib 15611582 librustdoc-bb943c5a.rlib 3056280 libserialize-bb943c5a.rlib 8954312 libstd-bb943c5a.rlib 30906736 libsyntax-bb943c5a.rlib 925480 libterm-bb943c5a.rlib 1377952 libtest-bb943c5a.rlib
2015-10-01remove code for re-exports of static methodsNiko Matsakis-119/+3
2015-10-01Convert DefId to use DefIndex, which is an index into a list ofNiko Matsakis-456/+449
paths, and construct paths for all definitions. Also, stop rewriting DefIds for closures, and instead just load the closure data from the original def-id, which may be in another crate.
2015-10-01rename ast_map to hir_mapNiko Matsakis-7/+7
2015-10-01move direct accesses of `node` to go through `as_local_node_id`, unlessNiko Matsakis-94/+113
they are being used as an opaque "position identifier"
2015-10-01move job of creating local-def-ids to ast-map (with a few stragglers)Niko Matsakis-37/+41
2015-10-01move LOCAL_CRATE to cstoreNiko Matsakis-2/+8
2015-10-01kill the fake provided method stubsAriel Ben-Yehuda-44/+33
this simplifies the code while reducing the size of libcore.rlib by 3.3 MiB (~1M of which is bloat a separate patch of mine removes too), while reducing rustc memory usage on small crates by 18MiB. This also simplifies the code considerably.
2015-09-30Auto merge of #28724 - tsion:remove-double-semicolons, r=alexcrichtonbors-1/+1
Really minor code cleanup, because why not?
2015-09-29Auto merge of #28702 - arielb1:metadata-versioning, r=nrcbors-0/+39
This prevents ICEs when old crates are used with a new version of rustc. Currently, the linking of crates compiled with different versions of rustc is completely unsupported. Fixes #28700 r? @nrc