about summary refs log tree commit diff
path: root/src/libarena
AgeCommit message (Collapse)AuthorLines
2019-04-03Deny internal lints on non conflicting cratesflip1995-0/+1
- libarena - librustc_allocator - librustc_borrowck - librustc_codegen_ssa - librustc_codegen_utils - librustc_driver - librustc_errors - librustc_incremental - librustc_metadata - librustc_passes - librustc_privacy - librustc_resolve - librustc_save_analysis - librustc_target - librustc_traits - libsyntax - libsyntax_ext - libsyntax_pos
2019-04-01Add ensure_capacity and rename min to lenJohn Kåre Alsaker-15/+26
2019-04-01Use set_lenJohn Kåre Alsaker-2/+2
2019-04-01Support allocating iterators with arenasJohn Kåre Alsaker-16/+129
2019-02-11libarena => 2018Mazdak Farrokhzad-10/+11
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-01-01Check the correct arenaOliver Scherer-0/+5
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-02Auto merge of #56378 - ljedrz:arena_tweaks, r=nagisabors-10/+14
arena: speed up TypedArena::clear and improve common patterns - speed up `TypedArena::clear`: improves its performance by up to **33%** (in case of a single entry) - simplify `DroplessArena::in_arena`
2018-12-02arena: improve common patternsljedrz-7/+2
2018-11-30arena: speed up TypedArena::clearljedrz-3/+12
2018-11-30Inline thingsJohn Kåre Alsaker-0/+2
2018-10-19Update TypedArena testsOliver Scherer-11/+11
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-20/+12
2018-09-27Bump to 1.31.0 and bootstrap from 1.30 betaJosh Stone-1/+1
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-1/+0
Co-authored-by: nikomatsakis
2018-08-24check that adding infer-outlives requirement to all crates worksNiko Matsakis-0/+1
2018-08-20Replace usages of ptr::offset with ptr::{add,sub}.Corey Farwell-2/+2
2018-08-09[nll] libarena: enable feature(nll) for bootstrapmemoryruins-0/+1
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-1/+0
2018-07-12Deny bare trait objects in the rest of rustljedrz-0/+1
2018-06-29Make raw_vec perma-unstable and hiddenSimon Sapin-0/+1
2018-05-27Make &Slice a thin pointerJohn Kåre Alsaker-25/+34
2018-05-17Switch to 1.26 bootstrap compilerMark Simulacrum-1/+0
2018-04-15Make arenas thread safeJohn Kåre Alsaker-0/+74
2018-04-08Move deny(warnings) into rustbuildMark Simulacrum-1/+0
This permits easier iteration without having to worry about warnings being denied. Fixes #49517
2018-04-05Stabilize attributes on generic parametersVadim Petrochenkov-1/+1
2018-01-13Rollup merge of #47069 - Kagamihime:master, r=nrckennytm-11/+24
rustfmt libarena/lib.rs Note: it's my very first pull request. I'm trying to do something very simple to see how it works here, even if it's a tiny change or maybe it's not correct (sorry if it is the case). r? @nrc
2018-01-01Fix docs for future pulldown migrationMalo Jaffré-1/+3
2017-12-29fixupKagamihime-0/+2
2017-12-29rustfmt libarena/lib.rsKagamihime-13/+24
2017-09-16stabilized needs_drop (fixes #41890)Michal Budzynski-1/+0
2017-08-25*: remove crate_{name,type} attributesTamir Duberstein-3/+0
Fixes #41701.
2017-06-19Bump version and stage0 compilerAlex Crichton-2/+0
2017-05-20migrate everything to using mem::needs_dropAlexis Beingessner-5/+4
2017-05-11rustc: Remove #![unstable] annotationAlex Crichton-2/+2
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-05-04Deprecate heap::EMPTY in favour of Unique::empty or otherwise.Alexis Beingessner-3/+1
2017-01-10Rollup merge of #38664 - apasel422:may-dangle, r=pnkfelixSeo Sanghyeon-4/+3
Replace uses of `#[unsafe_destructor_blind_to_params]` with `#[may_dangle]` CC #34761 r? @pnkfelix
2017-01-08Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrcbors-1/+1
Remove not(stage0) from deny(warnings) Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-12-31Utilize new in_arena method instead of hashing for Lifting interned itemsMark Simulacrum-2/+12
2016-12-31Fix TypedArena infinitely looping when inplace reallocation fails.Mark Simulacrum-2/+2
2016-12-31Add a non type-specific arena.Mark Simulacrum-0/+117
It relies on the underlying types not having special Drop behavior.
2016-12-29Remove not(stage0) from deny(warnings)Alex Crichton-1/+1
Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-12-28Replace uses of `#[unsafe_destructor_blind_to_params]` with `#[may_dangle]`Andrew Paseltiner-4/+3
CC #34761
2016-10-26Auto merge of #37270 - Mark-Simulacrum:smallvec-optimized-arenas, r=eddybbors-3/+5
Add ArrayVec and AccumulateVec to reduce heap allocations during interning of slices Updates `mk_tup`, `mk_type_list`, and `mk_substs` to allow interning directly from iterators. The previous PR, #37220, changed some of the calls to pass a borrowed slice from `Vec` instead of directly passing the iterator, and these changes further optimize that to avoid the allocation entirely. This change yields 50% less malloc calls in [some cases](https://pastebin.mozilla.org/8921686). It also yields decent, though not amazing, performance improvements: ``` futures-rs-test 4.091s vs 4.021s --> 1.017x faster (variance: 1.004x, 1.004x) helloworld 0.219s vs 0.220s --> 0.993x faster (variance: 1.010x, 1.018x) html5ever-2016- 3.805s vs 3.736s --> 1.018x faster (variance: 1.003x, 1.009x) hyper.0.5.0 4.609s vs 4.571s --> 1.008x faster (variance: 1.015x, 1.017x) inflate-0.1.0 3.864s vs 3.883s --> 0.995x faster (variance: 1.232x, 1.005x) issue-32062-equ 0.309s vs 0.299s --> 1.033x faster (variance: 1.014x, 1.003x) issue-32278-big 1.614s vs 1.594s --> 1.013x faster (variance: 1.007x, 1.004x) jld-day15-parse 1.390s vs 1.326s --> 1.049x faster (variance: 1.006x, 1.009x) piston-image-0. 10.930s vs 10.675s --> 1.024x faster (variance: 1.006x, 1.010x) reddit-stress 2.302s vs 2.261s --> 1.019x faster (variance: 1.010x, 1.026x) regex.0.1.30 2.250s vs 2.240s --> 1.005x faster (variance: 1.087x, 1.011x) rust-encoding-0 1.895s vs 1.887s --> 1.005x faster (variance: 1.005x, 1.018x) syntex-0.42.2 29.045s vs 28.663s --> 1.013x faster (variance: 1.004x, 1.006x) syntex-0.42.2-i 13.925s vs 13.868s --> 1.004x faster (variance: 1.022x, 1.007x) ``` We implement a small-size optimized vector, intended to be used primarily for collection of presumed to be short iterators. This vector cannot be "upsized/reallocated" into a heap-allocated vector, since that would require (slow) branching logic, but during the initial collection from an iterator heap-allocation is possible. We make the new `AccumulateVec` and `ArrayVec` generic over implementors of the `Array` trait, of which there is currently one, `[T; 8]`. In the future, this is likely to expand to other values of N. Huge thanks to @nnethercote for collecting the performance and other statistics mentioned above.
2016-10-25Utilize AccumulateVec to avoid heap allocations in mk_{substs, type_list, ↵Mark-Simulacrum-3/+5
tup} calls.
2016-10-22Rollup merge of #37211 - srinivasreddy:alt, r=nrcGuillaume Gomez-3/+2
run rustfmt on various folders
2016-10-19Add TypedArena::alloc_slice.Mark-Simulacrum-6/+39
2016-10-16run rustfmt on various foldersSrinivas Reddy Thatiparthy-3/+2
2016-09-23[breaking-change] Remove TypedArena::with_capacity.Nicholas Nethercote-14/+3
The function is unused by rustc. Also, it doesn't really follow the usual meaning of a `with_capacity` function because the first chunk allocation is now delayed until the first `alloc` call. This change reduces the size of `TypedArena` by one `usize`.