Ralf Jung
|
880229d4c3
|
escape-on-cast, now ptr-deref does not change the tag at all, ever
|
2018-11-17 10:05:40 +01:00 |
|
Ralf Jung
|
b7dbb5e2a7
|
also consider boxes like unique references
|
2018-11-17 10:05:40 +01:00 |
|
Ralf Jung
|
36b97cd76c
|
Factor out common top-level code from escape-to-raw and retag
|
2018-11-16 11:24:01 +01:00 |
|
Ralf Jung
|
a1f895d6f2
|
retagging: descent into values, type-driven
|
2018-11-16 11:09:33 +01:00 |
|
Ralf Jung
|
60e26af323
|
add a sanity assertion
|
2018-11-16 08:40:00 +01:00 |
|
Ralf Jung
|
cf1746222e
|
we no longer even try pushing to a frozen location
|
2018-11-15 21:22:05 +01:00 |
|
Ralf Jung
|
f521fd5e0f
|
let's call this a redundant reborrow
|
2018-11-15 21:22:05 +01:00 |
|
Ralf Jung
|
c234009fdd
|
generalize reborrow-to-raw exception to a general redundancy check
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
5a801c0dc1
|
adjust comment
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
a87e952102
|
Separate deref and access into different operations; add special exception for creating raw references
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
a94e197105
|
better test the special exception for reading through unique when things are shared
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
020313dd85
|
make freezing inherently part of the high-level reactivate/initiate operations
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
09919c2b59
|
Retag is the only operation that generates new tags
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
f5bd85d009
|
update for memory_deallocated moving to AllocExtra
|
2018-11-14 16:03:38 +01:00 |
|
Ralf Jung
|
e7aa5c68ff
|
Update rustc for AllocationExtra trait
Based on https://github.com/solson/miri/pull/493 but there were more conflicts
than code so I opted not to cherry-pick.
|
2018-11-12 08:54:12 +01:00 |
|
Ralf Jung
|
00936316d1
|
treat shared and raw borrows alike
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
74635a57e2
|
re-do large parts of stacked borrows, now with proper support for partiall frozen data
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
9edac3189a
|
rustup
|
2018-11-05 08:52:02 +01:00 |
|
Ralf Jung
|
cb691b7ed9
|
comment on mut-to-shr transmutes
|
2018-11-03 11:42:38 +01:00 |
|
Ralf Jung
|
a68779fd16
|
use crate:: import to make edition port easier later
|
2018-11-01 09:00:09 +01:00 |
|
Ralf Jung
|
81534496dc
|
rename RefKind to UsageKind, because it not only used for references now
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
478f137c39
|
put all the logic into reactivatable()
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
85f821d7e9
|
unify checks on memory access and reborrowing, and update for Machine trait change
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
bba3c49e84
|
basic retagging (no fn_entry); this also makes us catch more bugs even with optimizations and we can finally stop mutating the state on deref
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
7ac0e79ad5
|
stub Retag hook; fix tests for removal of -Zmir-emit-validate
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
1fa0ff88c0
|
fix nits
|
2018-10-30 10:41:01 +01:00 |
|
Ralf Jung
|
a34b9c7b70
|
make some things public for the benefit of priroda
|
2018-10-24 11:39:31 +02:00 |
|
Ralf Jung
|
5388037f8a
|
remove code duplication by letting reactivatable() compute what reactivate() has to do
|
2018-10-23 15:59:50 +02:00 |
|
Ralf Jung
|
fe83ef323c
|
also run compile-fail tests with and without optimizations
|
2018-10-23 13:09:17 +02:00 |
|
Ralf Jung
|
26bb4f79dc
|
get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom
|
2018-10-22 18:17:37 +02:00 |
|
Ralf Jung
|
01828fde53
|
respect memory's privacy
|
2018-10-22 16:48:10 +02:00 |
|
Ralf Jung
|
dd1558f337
|
rustc update and be very selective about what we accept on a deref
|
2018-10-22 16:48:09 +02:00 |
|
Ralf Jung
|
1ae1b9bfea
|
adapt to rustc API changes and factor out computing the tag for ty+mutbl
|
2018-10-22 16:45:03 +02:00 |
|
Ralf Jung
|
1a7fb7ec3c
|
expand comment about incomplete support for interior mutability
|
2018-10-22 12:51:47 +02:00 |
|
Ralf Jung
|
b259512c57
|
bump for ENABLE_PTR_TRACKING_HOOKS, and remove some dead code
|
2018-10-17 17:36:07 +02:00 |
|
Ralf Jung
|
d4b78b36ab
|
stacked borrows: enforcement at memory accesses
|
2018-10-17 15:15:53 +02:00 |
|
Ralf Jung
|
66b4bb7cf2
|
stacked borrows: track refs and derefs
|
2018-10-16 18:35:27 +02:00 |
|
Ralf Jung
|
b84f7e2029
|
add Borrow tag to pointers; remove old locking code
|
2018-10-16 18:35:27 +02:00 |
|