Uh oh!
There was an error while loading. Please reload this page.
Limit storage duration of inlined always live locals - #79027
Conversation
6569ec7 to
832d02dCompareUh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
So the real fix would be to make sure we do not lose storage markers? Are you sure it's lost storage markers and not simply "never added" ones? I was sure we have lots of locals without storage markers.
Or maybe we should just go for full #68622 anyway...
There was a problem hiding this comment.
So the real fix would be to make sure we do not lose storage markers?
This is what I had in mind originally, but we can also consider it to be a valid transformation even if it is suboptimal.
I was sure we have lots of locals without storage markers.
Locals marked as internal do not participate in validation performed by the state transform. Though, In that context I think it makes sense to always limit storage of those locals simply to help stack space optimizations.
maybe we should just go for full #68622 anyway...
It is unclear to me how the end of storage could be determined, especially for any local whose address escapes at some point.
There was a problem hiding this comment.
It is unclear to me how the end of storage could be determined, especially for any local whose address escapes at some point.
Ah, we'd still have a "StorageDead" of sorts: InvalidateBorrows. It's not quite the same thing, but it will allow us to figure out that if we manually computed a StorageDead, it could not be before an InvalidateBorrows of the same local.
832d02d to
e7b6b61Compareoli-obk
commented
Nov 14, 2020
@bors r+ |
bors
commented
Nov 14, 2020
📌 Commit e7b6b61 has been approved by |
Uh oh!
There was an error while loading. Please reload this page.
tmiasko
commented
Nov 14, 2020
Blocked on #78966 (tests need to be updated after it lands). |
e7b6b61 to
f27d56dComparetmiasko
commented
Nov 15, 2020
Updated tests. This is now unblocked. |
oli-obk
commented
Nov 15, 2020
@bors r+ |
bors
commented
Nov 15, 2020
📌 Commit f27d56d has been approved by |
…r=oli-obk Limit storage duration of inlined always live locals Closesrust-lang#76375.
Rollup of 9 pull requests Successful merges: - rust-lang#77939 (Ensure that the source code display is working with DOS backline) - rust-lang#78138 (Upgrade dlmalloc to version 0.2) - rust-lang#78967 (Make codegen tests compatible with extra inlining) - rust-lang#79027 (Limit storage duration of inlined always live locals) - rust-lang#79077 (document that __rust_alloc is also magic to our LLVM fork) - rust-lang#79088 (clarify `span_label` documentation) - rust-lang#79097 (Code block invalid html tag lint) - rust-lang#79105 (std: Fix test `symlink_hard_link` on Windows) - rust-lang#79107 (build-manifest: strip newline from rustc version) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Closes#76375.