Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #8364 | bors[bot] | 2021-04-06 | 7 | -33/+53 |
|\ | | | | | | | | | | | | | | | | | | | 8364: Memory usage improvements r=jonas-schievink a=alexmaco These are mostly focused on splitting up enum variants with large size differences between variants by `Box`-ing things up. In my testing this reduces the memory usage somewhere in the low percentages, even though the measurements are quite noisy. Co-authored-by: Alexandru Macovei <[email protected]> | ||||
| * | Avoid duplicating VfsPath in vfs::path_interner::PathInterner by using an ↵ | Alexandru Macovei | 2021-04-06 | 2 | -13/+17 |
| | | | | | | | | IndexSet | ||||
| * | Use Box'es to reduce the size of hir_def::expr::Pat from 112 to 64 bytes on ↵ | Alexandru Macovei | 2021-04-06 | 4 | -8/+14 |
| | | | | | | | | 64bit | ||||
| * | Use Box'es to reduce size of hir_def::expr::Expr from 128 to 72 bytes (on ↵ | Alexandru Macovei | 2021-04-06 | 3 | -12/+22 |
| | | | | | | | | | | | | | | | | | | | | 64bit systems) Rationale: only a minority of variants used almost half the size. By keeping large members (especially in Option) behind a box the memory cost is only payed when the large variants are needed. This reduces the size Vec<Expr> needs to allocate. | ||||
* | | Merge #8368 | bors[bot] | 2021-04-06 | 14 | -226/+246 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8368: Move Ty accessors to TyExt r=flodiebold a=Veykril CC #8313 Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | | Remove TyExt::dyn_trait_ref | Lukas Wirth | 2021-04-06 | 1 | -10/+4 |
| | | | |||||
| * | | Move Ty accessors to TyExt | Lukas Wirth | 2021-04-06 | 14 | -226/+252 |
| | | | |||||
* | | | Merge #8355 | bors[bot] | 2021-04-06 | 8 | -194/+226 |
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | 8355: internal: do not drop errors from cargo metadata/check r=matklad a=matklad Work towards #3155 Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | | More robust status notifications | Aleksey Kladov | 2021-04-06 | 7 | -108/+119 |
| | | | |||||
| * | | Prepare for more stateless status reporting | Aleksey Kladov | 2021-04-06 | 2 | -35/+36 |
| | | | |||||
| * | | Use autoreload config to gate execution rather that staleness | Aleksey Kladov | 2021-04-06 | 2 | -7/+8 |
| | | | |||||
| * | | Avoid duplicate `cargo check`s | Aleksey Kladov | 2021-04-06 | 1 | -1/+12 |
| | | | |||||
| * | | Improve readability | Aleksey Kladov | 2021-04-06 | 1 | -29/+28 |
| | | | | | | | | | | | | | | | It's better to order functions in the order they are called, if there's ordering between them. | ||||
| * | | internal: do not drop errors from cargo metadata/check | Aleksey Kladov | 2021-04-06 | 4 | -51/+60 |
| | | | | | | | | | | | | Work towards #3155 | ||||
* | | | Add chalk_ir::Const to TyKind::Array | Lukas Wirth | 2021-04-06 | 12 | -45/+109 |
|/ / | |||||
* | | Use a constructor function for Static lifetimes | Lukas Wirth | 2021-04-06 | 6 | -49/+37 |
| | | |||||
* | | Always use Static lifetimes in chalk mapping | Lukas Wirth | 2021-04-06 | 1 | -1/+2 |
| | | |||||
* | | Add Lifetime to DynTy | Lukas Wirth | 2021-04-06 | 3 | -1/+5 |
| | | |||||
* | | Add Lifetime to TyKind::Ref | Lukas Wirth | 2021-04-06 | 13 | -43/+74 |
|/ | |||||
* | Fix shifting of binders in FnPointer | Florian Diebold | 2021-04-05 | 4 | -10/+23 |
| | | | | | | | | | - don't shift in/out for Chalk mapping (we want to have the same binders now) - do shift in when creating the signature for a closure (though it shouldn't matter much) - do shift in when lowering a `fn()` type - correctly deal with the implied binder in TypeWalk | ||||
* | Align FnPointer with Chalk | Florian Diebold | 2021-04-05 | 9 | -40/+86 |
| | |||||
* | Substitution::prefix -> subst_prefix | Florian Diebold | 2021-04-05 | 4 | -11/+15 |
| | | | | I probably want to get rid of this function completely later. | ||||
* | Get rid of Substitution::suffix | Florian Diebold | 2021-04-05 | 2 | -10/+6 |
| | |||||
* | Remove some unused methods, move some to types.rs | Florian Diebold | 2021-04-05 | 2 | -29/+15 |
| | |||||
* | Binders::wrap_empty -> wrap_empty_binders | Florian Diebold | 2021-04-05 | 3 | -16/+12 |
| | |||||
* | Substitution::single -> from1 | Florian Diebold | 2021-04-05 | 4 | -14/+17 |
| | |||||
* | Move ProjectionTy methods to extension trait | Florian Diebold | 2021-04-05 | 7 | -32/+43 |
| | |||||
* | Merge #8353 | bors[bot] | 2021-04-05 | 4 | -18/+50 |
|\ | | | | | | | | | | | | | | | 8353: Replace hir_ty::Lifetime with chalk equivalent r=flodiebold a=Veykril Our `Lifetime` isn't really used yet so this is a rather simple change Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Replace unused hir_ty::Lifetime with chalk equivalents | Lukas Wirth | 2021-04-05 | 4 | -18/+50 |
| | | |||||
* | | Merge #8352 | bors[bot] | 2021-04-05 | 1 | -9/+3 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8352: Remove dead legacy macro expansion code r=lnicola a=brandondong I was investigating some unrelated macro issue when I noticed this dead code. This legacy macro expansion logic was changed in https://github.com/rust-analyzer/rust-analyzer/pull/8128. Co-authored-by: Brandon <[email protected]> | ||||
| * | | Remove dead legacy macro expansion code | Brandon | 2021-04-05 | 1 | -9/+3 |
| | | | |||||
* | | | Merge #8351 | bors[bot] | 2021-04-05 | 1 | -22/+21 |
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | 8351: Use more assoc. type aliases in the chalk interner r=flodiebold a=jonas-schievink Makes it sligthly easier to swap out these types Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | | Use more assoc. type aliases in the chalk interner | Jonas Schievink | 2021-04-05 | 1 | -22/+21 |
| | | | | | | | | | | | | Makes it sligthly easier to swap out these types | ||||
* | | | Merge #8350 | bors[bot] | 2021-04-05 | 3 | -13/+24 |
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | 8350: internal: prepare to store OpQueue results in the queue itself r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | | internal: prepare to store OpQueue results in the queue itself | Aleksey Kladov | 2021-04-05 | 3 | -13/+24 |
| | | | |||||
* | | | Merge #8348 | bors[bot] | 2021-04-05 | 20 | -228/+296 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8348: Make `Binders` more like Chalk r=flodiebold a=flodiebold Working towards #8313. - hide `value` - use `VariableKinds` - adjust `subst` to be like Chalk's `substitute` - also clean up some other `TypeWalk` stuff to prepare for it being replaced by Chalk's `Fold` Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | | Rename shift_bound_vars{_out} to align with Chalk | Florian Diebold | 2021-04-05 | 5 | -25/+32 |
| | | | | |||||
| * | | | Get rid of subst_bound_vars uses | Florian Diebold | 2021-04-05 | 3 | -5/+9 |
| | | | | |||||
| * | | | Get rid of some walk_mut uses | Florian Diebold | 2021-04-05 | 2 | -10/+15 |
| | | | | |||||
| * | | | Add Interner parameter to Binders::substitute | Florian Diebold | 2021-04-05 | 14 | -43/+52 |
| | | | | |||||
| * | | | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 14 | -39/+39 |
| | | | | |||||
| * | | | Use VariableKinds in Binders | Florian Diebold | 2021-04-05 | 7 | -84/+107 |
| | | | | |||||
| * | | | Hide Binders internals more | Florian Diebold | 2021-04-05 | 11 | -88/+108 |
| | | | | |||||
* | | | | Merge #8347 | bors[bot] | 2021-04-05 | 1 | -4/+15 |
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | 8347: Minor interning improvements r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | | | `Interned<T>`: Only hash the pointer | Jonas Schievink | 2021-04-05 | 1 | -2/+8 |
| | | | | |||||
| * | | | Make `impl_internable!` macro public | Jonas Schievink | 2021-04-05 | 1 | -2/+7 |
| |/ / | |||||
* | | | Use arrayvec 0.7 to avoid perf regression in 0.6.1 | kjeremy | 2021-04-05 | 3 | -3/+3 |
| | | | | | | | | | | | | See: https://github.com/bluss/arrayvec/issues/182 | ||||
* | | | Pass interner to TraitRef::self_type_parameter | Laurențiu Nicola | 2021-04-05 | 4 | -20/+24 |
| | | | |||||
* | | | Pass interner to ProjectionTy::self_type_parameter | Laurențiu Nicola | 2021-04-05 | 4 | -7/+7 |
|/ / | |||||
* | | Merge #8343 | bors[bot] | 2021-04-05 | 1 | -0/+28 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | 8343: internal: document hypothetical completion problem r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]> |