Ralf Jung
9e0e9386a6
better approach to skip ZST reborrows
2021-05-23 18:04:13 +02:00
Ralf Jung
543777acbd
avoid unnecessary RefCell calls in Stacked Borrows
2021-05-23 18:04:13 +02:00
Ralf Jung
c73f8b1097
fmt
2021-05-22 14:55:33 +02:00
Ralf Jung
ca7283d746
get rid of Rc in Stacked Borrows
2021-05-22 13:24:08 +02:00
Ralf Jung
801a1744cd
update for Memory API changes
2021-05-19 15:27:58 +02:00
Ralf Jung
4e231bab5e
format much of Miri
2021-05-16 11:48:28 +02:00
Mara Bos
5bd5ea21ea
Remove unwrap_none as it won't be stabilized.
...
This upgrades to the latest rustc to be able to use try_insert()
instead.
2021-03-08 16:59:20 +01:00
Ralf Jung
48f7c8e2e6
fix reborrowing of tagged ZST references
2021-02-27 20:10:50 +01:00
Tomasz Miąsko
0eb341417c
rustup to e7c23ab933
2021-02-20 00:00:00 +00:00
Ralf Jung
194451345d
add an option to track raw pointer tags in Stacked Borrows
2020-10-28 12:23:35 +01:00
Ralf Jung
39f7b35327
Stacked Borrows: print affected memory location on errors
2020-10-28 12:04:39 +01:00
Ralf Jung
086e9c49a9
pointer tag tracking: also show when tag is being created
2020-10-27 14:22:29 +01:00
LeSeulArtichaut
4f2f87b2df
Change ty.kind
-> ty.kind()
2020-09-04 22:03:45 +02:00
Ralf Jung
c77540ce13
deallocate thread-local statics when the thread dies
2020-07-27 23:32:15 +02:00
Ralf Jung
dcb0f6309e
we cannot track all machine memory any more due to int-ptr-casts
2020-07-08 12:01:49 +02:00
Ralf Jung
c379793cde
add option to track call IDs
2020-07-02 10:33:54 +02:00
Ralf Jung
270adbc7c6
Stacked Borrows: alignment does not matter
2020-04-22 23:32:19 +02:00
Vytautas Astrauskas
5224c72403
Move the stack to the evaluator to make Miri compile with the newest Rustc.
2020-04-20 09:19:37 +02:00
Ralf Jung
0805b4bf2e
retag return places
2020-04-15 12:39:19 +02:00
Ralf Jung
9f3383d55d
rustup for import changes
2020-04-03 00:05:35 +02:00
Ralf Jung
8948a29a4c
adjust for librustc rename; reduce 'extern crate' to rustc crates
2020-03-30 11:07:32 +02:00
Ralf Jung
204c13b8c7
env shim: make sure we clean up all the memory we allocate
2020-03-28 11:06:56 +01:00
Ralf Jung
9b0e9dec49
rustup, adjust for renames
2020-03-25 09:05:30 +01:00
Ralf Jung
284067cc15
rustup
2020-03-23 23:48:24 +01:00
Ralf Jung
6e302b830a
link to some websites for UB explanations
2020-03-22 23:32:19 +01:00
Ralf Jung
92a28f8d8f
HashMap -> FxHashMap
2020-03-02 22:36:15 +01:00
Ralf Jung
8ef303cd32
port from find_foreign_static to canonical_alloc_id
2020-03-02 09:03:08 +01:00
Ralf Jung
cc1ebd0af6
some formatting
2020-03-01 10:29:05 +01:00
Ralf Jung
274ae0438f
add an option to disable Stacked Borrows
2020-02-24 16:22:02 +01:00
Oliver Scherer
bfc7a7effd
Remove trailing newline
2020-01-09 12:38:58 +01:00
Oliver Scherer
c69ebaaed2
Use names that actually represent what's going on
2020-01-08 13:43:23 +01:00
Oliver Scherer
90a8f2f6a3
Make the non-halting diagnostic scheme independent of InterpError
2020-01-08 13:02:55 +01:00
Oliver Scherer
c0a7fd5602
Remove debugging hint until we can actuall use note:
2020-01-08 12:50:15 +01:00
Oliver Scherer
aec175e0de
Process delayed errors on every step
2020-01-08 12:49:46 +01:00
Oliver Scherer
bb58e42da2
Tell the user about stacked borrow debugging flags
2020-01-08 12:37:25 +01:00
Oliver Scherer
96d6efdf32
Emit errors without halting interpretation
2020-01-08 12:37:25 +01:00
Yuki Okushi
86ee705cd5
Rustup
2020-01-07 05:13:18 +09:00
Oliver Scherer
4aef81eb85
Remove to_ptr
uses
2019-12-27 14:26:05 +01:00
Oliver Scherer
bac261573f
Rustup to rustc 1.42.0-nightly ( 005cf38f7
2019-12-22)
2019-12-23 23:02:36 +01:00
Oliver Scherer
7ead530841
Rustfmt all the things
2019-12-23 12:56:23 +01:00
Oliver Scherer
817f4159a2
Use the machine stop error instead of abusing other error kinds
2019-12-09 14:29:28 +01:00
Oliver Scherer
eab2538317
Rename track-id to track-pointer-tag
2019-12-08 12:20:51 +01:00
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