Ralf Jung
0fac350f99
yay for NLL
2018-11-25 11:23:21 +01:00
Ralf Jung
af54eb2916
read_c_str should call the AllocationExtra hooks
2018-11-25 10:56:10 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
349271ab2c
Typo
...
Co-Authored-By: RalfJung <post@ralfj.de>
2018-11-25 10:49:43 +01:00
Ralf Jung
fb8b1e3989
accept undef in raw pointers, for consistency with integers
2018-11-25 10:49:43 +01:00
Ralf Jung
261faf3ce2
machine hooks for stack push and pop, frame machine data
2018-11-25 10:49:43 +01:00
Ralf Jung
53ed3b7956
make memory allocation hook infallible
2018-11-25 10:49:43 +01:00
Ralf Jung
6cca7165ea
pass MemoryExtra to find_foreign_static and adjust_static_allocation; they might have to create allocations
2018-11-25 10:49:43 +01:00
Ralf Jung
4c090fe310
bring back MemoryExtra
2018-11-25 10:49:43 +01:00
Simon Sapin
68a26ec647
Stabilize the int_to_from_bytes feature
...
Fixes #52963
2018-11-25 08:29:01 +01:00
Nicholas Nethercote
94967ae8c1
Remove OpenSnapshot
and CommittedSnapshot
markers from RegionConstraintCollector
.
...
They're not strictly necessary, and they result in the `Vec` being
allocated even for the trivial (and common) case where a
`start_snapshot` is immediately followed by a `commit` or `rollback_to`.
The commit also removes a now-unnecessary argument of
`pop_placeholders()`.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
2d68fa07bf
Remove OpenSnapshot
and CommittedSnapshot
markers from SnapshotMap
.
...
They're not strictly necessary, and they result in the `Vec` being
allocated even for the trivial (and common) case where a
`start_snapshot` is immediately followed by a `commit` or `rollback_to`.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
f23c969492
Introduce in_snapshot
and assert_open_snapshot
methods.
...
This makes the two snapshot implementations more consistent with each
other and with crate `ena`.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
f5624e41e8
Make commit
and rollback_to
methods take ownership of the snapshots.
...
Because they shouldn't be reused. This provides consistency with the
`ena` crate.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
7fe09a6551
Replace a .truncate(0)
call with .clear()
.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
c86bbd4830
Rename UndoLogEntry
as UndoLog
.
...
So that it matches `librustc_data_structures/snapshot_map/mod.rs` and
the `ena` crate.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
9847b5cfcb
Remove insert_noop
.
...
Because it's as useless as its name suggests.
This commit also renames `UndoLog::Noop` as `UndoLog::Purged`, because
(a) that's a more descriptive name and (b) it matches the name used in
similar code in `librustc/infer/region_constraints/mod.rs`.
2018-11-25 17:54:06 +11:00
Nicholas Nethercote
1e34dfce6f
Update to ena
0.11.0.
...
This version has some significant speed-ups relating to snapshotting.
2018-11-25 17:54:04 +11:00
bors
abe19a7305
Auto merge of #55921 - scalexm:placeholders, r=nikomatsakis
...
Add placeholder types
Fixes #48696 (handle universes in canonicalization of type inference vars), and fixes #55098 .
2018-11-25 06:48:21 +00:00
bors
37961dbd2d
Auto merge of #55959 - matthewjasper:remove-end-region, r=nikomatsakis
...
Cleanup from lexical MIR borrowck removal
Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.
* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.
r? @nikomatsakis
2018-11-25 03:00:30 +00:00
Wesley Wiser
dce1c4530e
[Windows] Work around non-monotonic clocks in the self-profiler
...
On Windows, the high-resolution timestamp api doesn't seem to always be
monotonic. This can cause panics when the self-profiler uses the
`Instant` api to find elapsed time.
Work around this by detecting the case where now is less than the start
time and just use 0 elapsed ticks as the measurement.
Fixes #51648
2018-11-24 21:38:35 -05:00
Esteban Küber
6b338e034a
Suggest correct enum variant on typo
2018-11-24 16:25:13 -08:00
bors
2dd94c133e
Auto merge of #55915 - oli-obk:miri_engine_refactoring, r=RalfJung
...
Miri engine refactoring
next small step of https://github.com/rust-lang/rust/pull/55293
r? @RalfJung
2018-11-25 00:00:17 +00:00
scalexm
b8a30f04cd
Try to work around #53332 in src/test/run-pass/rustc-rust-log.rs
2018-11-24 23:42:14 +01:00
bors
edaac35d67
Auto merge of #56201 - kennytm:revert-55935, r=alexcrichton
...
Revert "appveyor: Use VS2017 for all our images"
This reverts commit 008e5dcbd5
(#55935 )
We suspect this causes the spurious failure in https://github.com/rust-lang/rust/pull/55906#issuecomment-441365922 and https://github.com/rust-lang/rust/pull/55915#issuecomment-441377543 .
r? @alexcrichton
2018-11-24 20:08:57 +00:00
kennytm
91f8e3721c
Revert "appveyor: Use VS2017 for all our images"
...
This reverts commit 008e5dcbd5
.
2018-11-25 00:25:56 +08:00
Oliver Scherer
b853252bcd
Rebase fallout
2018-11-24 11:36:32 +01:00
Oliver Scherer
360f9888bc
update miri submodule
2018-11-24 11:36:32 +01:00
Oliver Scherer
3220c0ce1a
Explain why vtable generation needs no alignment checks
2018-11-24 11:36:32 +01:00
Oliver Scherer
22872196f5
Factor out mplace offsetting into its own method
2018-11-24 11:36:32 +01:00
Oliver Scherer
972d798881
Document Allocation
2018-11-24 11:36:32 +01:00
Oliver Scherer
cb8fa33572
tidy
2018-11-24 11:36:32 +01:00
Oliver Scherer
a5ef2d1b54
Array and slice projections need to update the place alignment
2018-11-24 11:36:32 +01:00
Ralf Jung
10102d1f0a
comment nit
...
Co-Authored-By: oli-obk <github35764891676564198441@oli-obk.de>
2018-11-24 11:36:32 +01:00
Oliver Scherer
9b8e82ad24
Use correct alignment checks for scalars and zsts, too
2018-11-24 11:36:32 +01:00
Oliver Scherer
927c5aab47
Use correct alignment for fat pointer extra part
2018-11-24 11:36:32 +01:00
Oliver Scherer
9d57adf2ba
Explain {read,write}_scalar failure to cope with zsts
2018-11-24 11:36:32 +01:00
Oliver Scherer
8b04b09869
Move alignment checks out of Allocation
2018-11-24 11:36:32 +01:00
Oliver Scherer
1c08ced995
Explain early abort legality
2018-11-24 11:36:32 +01:00
Oliver Scherer
d3139b9c41
Rebase fallout
2018-11-24 11:36:32 +01:00
Oliver Scherer
b820cc79a9
Clean up array/slice of primitive validation
2018-11-24 11:36:32 +01:00
Oliver Scherer
65b702c6b1
Update miri submodule
2018-11-24 11:36:32 +01:00
Oliver Scherer
87bd5d13d8
Remove stderr file, because the test passes now
2018-11-24 11:36:32 +01:00
Oliver Scherer
ef332959dc
Reintroduce zst-slice reading read_bytes
method on Memory
2018-11-24 11:36:32 +01:00
Oliver Scherer
ebf03363f2
Properly test for int pointers in fat pointers to str slices of zero chars
2018-11-24 11:36:31 +01:00
Oliver Scherer
cc2f46e55a
Reorder methods in allocation.rs
2018-11-24 11:36:31 +01:00
Oliver Scherer
20dee47a66
Add regression test for integral pointers in zst str slice fat pointers
2018-11-24 11:36:31 +01:00
Oliver Scherer
df1ed0c2a6
Make a method that doesn't need Self
a free function instead
2018-11-24 11:36:31 +01:00
Oliver Scherer
a835555474
Make zst accesses in allocations take the regular path.
...
Speeding up zst accesses should be done on a higher level.
2018-11-24 11:36:31 +01:00
Oliver Scherer
3a0e8254b0
Remove unnecessary Result
(function always returned Ok
)
2018-11-24 11:36:31 +01:00
Oliver Scherer
07e7804110
Adjust rustc_mir::interpret to changes in Allocation
/Memory
methods
2018-11-24 11:36:31 +01:00