-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Conversation
meta comment: It seems like a good idea to introduce a convention of using |
@nikomatsakis I'll wait and see how much this can be reduced with better lifetime variance inference support, and only then start adding |
ping, looks like this can be rebased now that the de-@ phase has landed |
@alexcrichton I'm waiting for a snapshot so I can make traits generic over lifetimes (#12807), otherwise this would still be hacky. |
I talked to @eddyb on IRC, and he said that this needs some more work, and to close it for now. |
This is plagued by "pointer has a longer lifetime than the data it references" errors, sadly - see my comment on #10396. |
This needs another rebase. I'm going to close it for now. |
def47e5
to
a2473a8
Compare
r=me with rebase |
Do we know what the memory usage implications of this are? |
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).
fix: Work around Code bug with empty diagnostics Closes rust-lang#11404
… r=y21 Correctly handle closing parens in `missing_backticks` doc lint Fixes rust-lang#12795. changelog: Correctly handle closing parens in `doc_markdown` lint
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).