Commit Graph

121 Commits

Author SHA1 Message Date
Oliver Scherer
67417945d4 Detect all variants of stack removals 2019-12-08 12:20:51 +01:00
Oliver Scherer
d363a47fcb Add a scheme to find the place where an id was destroyed 2019-12-08 12:20:51 +01:00
Ralf Jung
d43e394c46 fix init_allocation_extra 2019-12-02 16:04:31 +01:00
Ralf Jung
1b3434c67d adjust for init_allocation_extra 2019-12-02 16:04:31 +01:00
Aaron Hill
08d3fbc76b
Support unwinding after a panic
Fixes #658

This commit adds support for unwinding after a panic. It requires a
companion rustc PR to be merged, in order for the necessary hooks to
work properly.

Currently implemented:
* Selecting between unwind/abort mode based on the rustc Session
* Properly popping off stack frames, unwinding back the caller
* Running 'unwind' blocks in Mir terminators

Not yet implemented:
* 'Abort' terminators

This PR was getting fairly large, so I decided to open it for review without
implementing 'Abort' terminator support. This could either be added on
to this PR, or merged separately.
2019-11-17 08:34:25 -05:00
Ralf Jung
64244e9a18 do full deref-check before reborrowing 2019-11-14 10:24:02 +01:00
Ralf Jung
2c55a508e9 rustup 2019-11-11 21:25:57 +01:00
Ralf Jung
37b1190def rustup 2019-11-08 22:07:52 +01:00
Ralf Jung
90634121b3 fix typo 2019-10-30 15:05:44 +01:00
Ralf Jung
88c88530ec use expect_none and unwrap_none where it makes sense 2019-10-20 12:20:48 +02:00
Yuki Okushi
a353e90eed Use memory field instead of memory() 2019-10-18 11:11:50 +09:00
Oliver Scherer
9fdb347ad7 Rustup to sty -> kind changes 2019-09-26 11:41:11 +02:00
Ralf Jung
d26917a9d6 fix for latest rustc 2019-08-05 10:45:48 +02:00
Ralf Jung
f65e7cd2d1 adjust for rustc changes 2019-08-03 20:31:33 +02:00
Ralf Jung
8071034b93 fix for error refactoring 2019-08-03 10:25:55 +02:00
Ralf Jung
30fb027f33 comment 2019-08-02 08:38:22 +02:00
Ralf Jung
c4c2716f4e make reborrow shallow, and fix tests for that 2019-08-02 08:09:22 +02:00
Lzu Tao
e6a677fe63 build: Warn if not use 2018 idioms 2019-07-24 21:24:26 +07:00
Ralf Jung
70a5bb7dbb force pointers before reborrowing; fixes cargo miri test suite 2019-07-10 14:36:56 +02:00
Ralf Jung
b324cbf282 Merge remote-tracking branch 'origin/master' into rustup 2019-07-06 09:29:17 +02:00
Ralf Jung
eb4128fb42 don't call Stacked Borrows hooks at all when validation is disabled 2019-07-03 10:47:28 +02:00
Ralf Jung
aa5a9bc152 some module comments 2019-06-29 14:15:05 +02:00
Christian Poveda
792d665a1f Fix merge conflicts 2019-06-25 00:57:33 -05:00
Christian Poveda
84cfbb01b7 Reorganize MemoryExtra and AllocExtra structures 2019-06-24 17:18:25 -05:00
Ralf Jung
4dc188a60e adjust for refactored memory pointer checks 2019-06-23 20:19:26 +02:00
Christian Poveda
fd3a291db4 Implement intptrcast methods 2019-06-21 14:55:37 -05:00
Ralf Jung
ad0c941547 rustup for lifetime refactorings 2019-06-13 09:18:03 +02:00
Ralf Jung
d6bcfc58e3 rustup for EvalResult rename 2019-06-08 22:14:47 +02:00
Ralf Jung
03b74c12c8
Merge branch 'master' into debug 2019-06-03 11:02:17 +02:00
Ralf Jung
0c704151f7 use new rustc infrastructure to tag the base pointer of static allocations 2019-06-02 22:16:02 +02:00
Ralf Jung
96444c11ee remove too expensive debug assertion 2019-05-31 16:34:22 +02:00
Ralf Jung
8b219a1329 fix for latest rustc 2019-05-27 18:50:32 +02:00
Ralf Jung
21fb14dba1 avoid printing the tag twice 2019-05-24 13:09:29 +02:00
Ralf Jung
5569fffe7d avoid having both Debug and Display for a type and using the wrong one 2019-05-24 10:09:23 +02:00
Ralf Jung
1d92791965 use prettier printing 2019-05-23 15:54:50 +02:00
Ralf Jung
3e33e54b5b hopefully improve error message a bit 2019-05-23 11:03:08 +02:00
Ralf Jung
5c54a58c06 typo 2019-05-19 14:04:59 +02:00
Oliver Scherer
3fde45233b Prefer drain over manual implementation of drain 2019-05-19 12:40:59 +02:00
Ralf Jung
6b4164e0df nits 2019-05-17 19:42:35 +02:00
Ralf Jung
9c161b80d0 reading does not remove Unique, it just invalidates them 2019-05-17 15:29:02 +02:00
Ralf Jung
4b9e1544c2 give up on two-phase borrows 2019-05-17 15:02:31 +02:00
Ralf Jung
1447242bf9 refactor to simplify 2019-05-15 18:12:58 +02:00
Ralf Jung
f676f2265b make writes act stack-like 2019-05-15 18:12:58 +02:00
Ralf Jung
a9e66928d6
Update src/stacked_borrows.rs
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2019-05-11 12:07:25 +02:00
Ralf Jung
8530080d03 rename per-location part of reborowing to 'granting' 2019-05-11 12:06:59 +02:00
bjorn3
17643af868
Apply suggestions from code review
Co-Authored-By: RalfJung <post@ralfj.de>
2019-04-30 15:31:53 +02:00
Ralf Jung
59985157d3 SharedReadOnly reborrows are never weak 2019-04-30 13:55:04 +02:00
Ralf Jung
0a5e541272 two-phase-borrow comment 2019-04-19 08:36:05 +02:00
Ralf Jung
39ecd05c46 embrace find_map and some whitespace changes 2019-04-17 16:25:38 +02:00
Oliver Scherer
abe8959339 Apply suggestions from code review
Co-Authored-By: RalfJung <post@ralfj.de>
2019-04-17 16:22:33 +02:00