Skip to content

Use a TypedArena in ty::ctxt. #12809

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 4 commits into from
Sep 8, 2014
Merged

Use a TypedArena in ty::ctxt. #12809

merged 4 commits into from
Sep 8, 2014

Conversation

eddyb
Copy link
Member

@eddyb eddyb commented Mar 10, 2014

This was inspired by seeing a LLVM flatline of ~600MB when running rustc with jemalloc (each type's t_box_ is allocated on the heap, creating a lot of fragmentation, which jemalloc can deal with, unlike glibc).

@nikomatsakis
Copy link
Contributor

meta comment: It seems like a good idea to introduce a convention of using 'tcx for the lifetime of the type context, or something like that.

@eddyb
Copy link
Member Author

eddyb commented Mar 10, 2014

@nikomatsakis I'll wait and see how much this can be reduced with better lifetime variance inference support, and only then start adding 'tcx, but I like it otherwise.

@alexcrichton
Copy link
Member

ping, looks like this can be rebased now that the de-@ phase has landed

@eddyb
Copy link
Member Author

eddyb commented Mar 19, 2014

@alexcrichton I'm waiting for a snapshot so I can make traits generic over lifetimes (#12807), otherwise this would still be hacky.

@alexcrichton
Copy link
Member

I talked to @eddyb on IRC, and he said that this needs some more work, and to close it for now.

@eddyb
Copy link
Member Author

eddyb commented Apr 23, 2014

This is plagued by "pointer has a longer lifetime than the data it references" errors, sadly - see my comment on #10396.

@thestinger
Copy link
Contributor

This needs another rebase. I'm going to close it for now.

@thestinger thestinger closed this May 1, 2014
@emberian emberian reopened this Aug 30, 2014
@eddyb eddyb force-pushed the ty-arena branch 4 times, most recently from def47e5 to a2473a8 Compare September 6, 2014 16:14
@emberian
Copy link
Member

emberian commented Sep 7, 2014

r=me with rebase

@pcwalton
Copy link
Contributor

pcwalton commented Sep 7, 2014

Do we know what the memory usage implications of this are?

bors added a commit that referenced this pull request Sep 8, 2014
This was inspired by seeing a LLVM flatline of **~600MB** when running rustc with jemalloc (each type's `t_box_` is allocated on the heap, creating a lot of fragmentation, which jemalloc can deal with, unlike glibc).
@bors bors merged commit 8bfbcdd into rust-lang:master Sep 8, 2014
@eddyb eddyb deleted the ty-arena branch September 8, 2014 20:51
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 25, 2022
fix: Work around Code bug with empty diagnostics

Closes rust-lang#11404
bors added a commit to rust-lang-ci/rust that referenced this pull request May 30, 2024
… r=y21

Correctly handle closing parens in `missing_backticks` doc lint

Fixes rust-lang#12795.

changelog: Correctly handle closing parens in `doc_markdown` lint
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants