-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a TypedArena in ty::ctxt. #12809
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).