summary refs log tree commit diff
path: root/src/librustc/middle/astencode.rs
AgeCommit message (Collapse)AuthorLines
2015-10-13Merge VariantData and VariantData_Vadim Petrochenkov-4/+4
2015-10-13Fix rebase 2Vadim Petrochenkov-3/+3
2015-10-13Merge struct fields and struct kindVadim Petrochenkov-1/+1
2015-10-13Dict -> Struct, StructDef -> VariantData, def -> dataVadim Petrochenkov-2/+2
2015-10-13Fix rebaseVadim Petrochenkov-2/+2
2015-10-09Auto merge of #28857 - nrc:lowering, r=nikomatsakisbors-6/+32
r? @nikomatsakis
2015-10-09review commentsNick Cameron-1/+1
2015-10-09Misc fixupsNick Cameron-6/+31
2015-10-09Move `for` loop desugaring to loweringNick Cameron-0/+1
2015-10-07use the struct's ctor-id as its variant def-idAriel Ben-Yehuda-2/+5
this makes the code cleaner, and is a complement to the cleanup on the HIR side.
2015-10-02unify the 2 impl indexesAriel Ben-Yehuda-1/+1
2015-10-02Merge branch 'master' into metadietAriel Ben-Yehuda-123/+41
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-01remove the code that encodes type parameter defsAriel Ben-Yehuda-29/+0
there are no type parameter defs in the relevant range
2015-10-01don't duplicate item types between encoder <-> astencodeAriel Ben-Yehuda-118/+51
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-01Convert DefId to use DefIndex, which is an index into a list ofNiko Matsakis-103/+11
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-01build up a set of node-ids that we can construct def-ids fromNiko Matsakis-16/+22
2015-10-01Introduce semi-duplicate DefIds into DefLocal/DefUpvar to remove useNiko Matsakis-3/+10
of xxx_local.
2015-10-01Remove DefRegion, which is not usedNiko Matsakis-1/+0
2015-10-01Rename `node_id` to `var_id` and limit to the cases that are actually usedNiko Matsakis-1/+1
2015-10-01move direct accesses of `node` to go through `as_local_node_id`, unlessNiko Matsakis-3/+3
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-7/+9
2015-10-01move LOCAL_CRATE to cstoreNiko Matsakis-1/+2
2015-09-22Use Names in HIR ItemsVadim Petrochenkov-7/+7
2015-09-14split ty::util and ty::adjustmentAriel Ben-Yehuda-28/+30
2015-09-14move middle::ty and related modules to middle/ty/Ariel Ben-Yehuda-1/+1
2015-09-06track, for each upvar, its index in list of upvarsNiko Matsakis-2/+2
2015-09-03Add an intital HIR and lowering stepNick Cameron-32/+34
2015-08-24address nitsAriel Ben-Yehuda-1/+1
2015-08-24Use a Vec instead of an HashMap for the scope hierarchyAriel Ben-Yehuda-98/+89
This increases regionck performance greatly - type-checking on librustc decreased from 9.1s to 8.1s. Because of Amdahl's law, total performance is improved only by about 1.5% (LLVM wizards, this is your opportunity to shine!). before: 576.91user 4.26system 7:42.36elapsed 125%CPU (0avgtext+0avgdata 1142192maxresident)k after: 566.50user 4.84system 7:36.84elapsed 125%CPU (0avgtext+0avgdata 1124304maxresident)k I am somewhat worried really need to find out why we have this Red Queen's Race going on here. Originally I suspected it may be a problem from RFC1214's warnings, but it seems to be an effect from other changes. However, the increase seems to be mostly in LLVM's time, so I guess it's the LLVM wizards' problem.
2015-08-24split ReInfer into ReVar and ReSkolemizedAriel Ben-Yehuda-1/+1
this should reduce the size of ty::Region to 24 bytes (from 32), and they are treated differently in most cases anyway.
2015-08-24fallout from moving def-idNiko Matsakis-30/+31
2015-08-15remove the last remnants of old interfaceNiko Matsakis-5/+3
2015-08-15astencode: convert code to use TyDecoder directlyNiko Matsakis-74/+38
2015-08-14move InlinedItem into librustc, where it belongsNiko Matsakis-30/+31
2015-08-12Fallout in libs -- misc missing bounds uncovered by WF checks.Niko Matsakis-1/+1
2015-08-04rustc: replace def::MethodProvenance with ty::ImplOrTraitItemContainer.Eduard Burtescu-6/+2
2015-07-28remove `get_ident` and `get_name`, make `as_str` soundOliver Schneider-3/+2
2015-07-04rustc: remove MethodOrigin and use the container to distinguish inherent ↵Eduard Burtescu-11/+6
methods.
2015-07-04rustc_lint: use traits::select for methods in unconditional_recursion.Eduard Burtescu-64/+5
2015-07-04rustc: simplify ty::MethodOrigin and avoid trait item indices.Eduard Burtescu-133/+54
2015-07-04rustc: remove unused MethodStaticClosure variant of MethodOrigin.Eduard Burtescu-16/+4
2015-07-02Auto merge of #26722 - arielb1:log-deadlock, r=eddybbors-1/+1
These are RefCell deadlocks that cause the rustc task to die with the stderr lock held, causing a real deadlock. Fixes #26717. r? @eddyb
2015-07-01Fix deadlocks with RUST_LOG=rustc::middle::tyAriel Ben-Yehuda-1/+1
These are RefCell deadlocks that cause the rustc task to die with the stderr lock held, causing a real deadlock. Fixes #26717.
2015-06-30Remove Typer and ClosureTyperJared Roesch-1/+0
This commit finalizes the work of the past commits by fully moving the fulfillment context into the InferCtxt, cleaning up related context interfaces, removing the Typer and ClosureTyper traits and cleaning up related intefaces
2015-06-27Address nitsJared Roesch-1/+6
2015-06-27Begin refactor type checking stateJared Roesch-13/+13
This first patch starts by moving around pieces of state related to type checking. The goal is to slowly unify the type checking state into a single typing context. This initial patch moves the ParameterEnvironment into the InferCtxt and moves shared tables from Inherited and ty::ctxt into their own struct Tables. This is the foundational work to refactoring the type checker to enable future evolution of the language and tooling.
2015-06-19rustc: remove Repr and UserString.Eduard Burtescu-3/+2
2015-06-19rustc: use the TLS type context in Repr and UserString.Eduard Burtescu-1/+1
2015-06-19rustc: use Repr and UserString instead of ppaux::ty_to_string.Eduard Burtescu-2/+2
2015-06-10Removed many pointless calls to *iter() and iter_mut()Joshua Landau-1/+1