about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2020-05-10 11:34:30 +0200
committerGitHub <noreply@github.com>2020-05-10 11:34:30 +0200
commit62353071af2dd3a731892a951352acb26809eacf (patch)
tree0658ea2f25013d458c39c6326a672fa312d320b0 /src/libstd/sys/unix/stack_overflow.rs
parentb3269536d0a883caa0904cf6589aa1310ff70b5e (diff)
parentb998497bd41d6de71ec035433247dee856d1f3a5 (diff)
downloadrust-62353071af2dd3a731892a951352acb26809eacf.tar.gz
rust-62353071af2dd3a731892a951352acb26809eacf.zip
Rollup merge of #71840 - matthewjasper:drop-trees, r=oli-obk
Rework MIR drop tree lowering

This PR changes how drops are generated in MIR construction. This is the first half of the fix for #47949.

Rather than generating the drops for a given unwind/break/continue/return/generator drop path as soon as they are needed, the required drops are recorded and get generated later.

The motivation for this is
* It simplifies the caching scheme, because it's now possible to walk up the currently scheduled drop tree to recover state.
* The basic block order for MIR more closely resembles execution order.

This PR also:
* Highlights cleanup blocks in the graphviz MIR output.
* Removes some unnecessary drop flag assignments.
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions