Commit Graph

56 Commits

Author SHA1 Message Date
csmoe 64f61c7888 remove indexed_vec re-export from rustc_data_structures 2019-09-29 16:48:31 +00:00
Mark Rousskov 14a5aefb01 Switch over all StableHash impls to new format 2019-09-28 11:47:36 -04:00
Andreas Molzer 7388cb4cf8 Fixup remaining direct relocation field references 2019-08-30 04:19:29 +02:00
Andreas Molzer d8c5bc7ec6 Replace usage of alloc.bytes in interpret
There is now a dedicate `len` method which avoids the need to access the
bytes. Access the length as `Size` can also be done by a direct member.
The constructors guarantee that these representations are convertable.

Access which relies on the bytes, such as snapshot, can use direct raw
access by reference as it does not care about undef and relocations or
properly checks them seperately.
2019-08-21 10:55:16 +02:00
Mark Rousskov 43de341f19 Copy ty::Instance instead of passing by reference
ty::Instance is small and Copy, we should not be adding additional
indirection.
2019-08-11 10:54:38 -04:00
Mark Rousskov 288b4e9078 Don't store &Span
This is just needless indirection.
2019-08-05 10:29:06 -04:00
Saleem Jaffer 152f0d347e code review fixes 2019-07-31 12:48:54 +05:30
Saleem Jaffer 9f8b099846 code review fixes 2019-07-29 20:17:52 +05:30
Saleem Jaffer 307798aa38 fixing fallout due to InterpError refactor 2019-07-29 13:35:09 +05:30
Eduard-Mihai Burtescu b25b466a88 rustc: remove 'x: 'y bounds (except from comments/strings). 2019-06-18 18:10:21 +03:00
Eduard-Mihai Burtescu f3f9d6dfd9 Unify all uses of 'gcx and 'tcx. 2019-06-14 18:58:23 +03:00
Eduard-Mihai Burtescu fff08cb043 Run `rustfmt --file-lines ...` for changes from previous commits. 2019-06-12 13:38:28 +03:00
Eduard-Mihai Burtescu 17cdd356da rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu 2441253508 Fix fallout from `deny(unused_lifetimes)`. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu 37799a5552 rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu d110d309b6 rustc_mir: deny(unused_lifetimes). 2019-06-11 14:11:58 +03:00
Jad Ghalayini 80ff07f30d Changed usages of `mir` in librustc::mir and librustc_mir to `body` 2019-06-09 16:05:05 -04:00
Ralf Jung 059e7c0c80 rename EvalSnapshot -> InterpSnapshot 2019-06-08 11:39:48 +02:00
Ralf Jung 8f05ff3e33 rename EvalResult -> InterpResult and EvalError -> InterpErrorInfo 2019-06-08 11:39:48 +02:00
Ralf Jung 082da0c698 rename Scalar::Bits to Scalar::Raw and bits field to data 2019-05-26 11:08:03 +02:00
flip1995 e1da67e69c
Fix lint findings in librustc_mir 2019-04-28 21:19:27 +02:00
Ralf Jung 4d79d391b0 avoid reading from ZST locals 2019-04-08 13:40:43 +02:00
Ralf Jung cb51f872a8 miri engine: lazily allocate memory for locals on first write 2019-04-06 23:58:59 +02:00
Mazdak Farrokhzad 85a82ac334
Rollup merge of #59607 - kenta7777:renames-EvalErrorKind-to-InterpError, r=oli-obk
Renames `EvalErrorKind` to `InterpError`

This PR renames `EvalErrorKind` to `InterpError`.
This is related to #54395.
2019-04-02 13:47:30 +02:00
kenta7777 3c8caaca7d renames EvalErrorKind to InterpError 2019-04-02 01:02:18 +09:00
kenta7777 656d4c30e9 typo fix 2019-04-01 19:51:12 +09:00
Taiki Endo 6156defd51 librustc_mir: use ? in impl_snapshot_for! macro 2019-02-11 02:24:46 +09:00
Taiki Endo 725af30809 librustc_mir => 2018 2019-02-08 06:28:15 +09:00
Oliver Scherer 8c26c590b4 Failure resistent trait implementing 2019-01-30 19:29:10 +01:00
Oliver Scherer 765fa81a6e Swap the names of `LocalValue` and `LocalState` 2019-01-30 17:51:59 +01:00
Oliver Scherer a7a5cb620f Prefer macro over manual implementation 2019-01-30 17:50:46 +01:00
Oliver Scherer 7cfb05fd23 Merge `locals` and `local_layouts` fields 2019-01-30 14:16:18 +01:00
Björn Steinbrink 98d4f33626 const_eval: Predetermine the layout of all locals when pushing a stack frame
Usually the layout of any locals is required at least three times, once
when it becomes live, once when it is written to, and once it is read
from. By adding a cache for them, we can reduce the number of layout
queries speeding up code that is heavy on const_eval.
2019-01-20 19:08:14 +01:00
Ralf Jung 261faf3ce2 machine hooks for stack push and pop, frame machine data 2018-11-25 10:49:43 +01:00
Oliver Scherer 48f6941acf Move `ScalarMaybeUndef` back to rustc 2018-11-08 14:52:02 +01:00
Oliver Scherer e8a22b692a Rename `Value` to `Immediate` for miri 2018-11-02 16:56:59 +01:00
Geoffry Song 4747d83c70 Extend the impl_stable_hash_for! macro for miri. 2018-10-26 01:07:10 -07:00
Ralf Jung 21934c81f4 add support for storing extra data in an allocation 2018-10-18 12:08:22 +02:00
Ralf Jung f79a22c3d5 validate return value on stack pop 2018-10-13 09:09:02 +02:00
Ralf Jung 75ea7c7fc2 typos and spaces 2018-10-10 09:58:17 +02:00
Ralf Jung 397283dbc3 rename extra -> meta in place 2018-10-10 09:58:17 +02:00
Ralf Jung 4e9f9329e3 miri engine: basic support for pointer provenance tracking 2018-10-10 09:50:06 +02:00
Ralf Jung d62aa3e085 move ScalarMaybeUndef into the miri engine 2018-09-30 13:09:26 +02:00
Ralf Jung 8e74ee0998 fix comment 2018-09-21 16:25:33 +02:00
Ralf Jung c16336a014 move loop detector constants to the module that uses them; make lifetime order in ConstPropagator consistent with Memory 2018-09-20 11:57:45 +02:00
Ralf Jung 018d128325 rename evaluator -> interpreter to make eddyb happy 2018-09-20 10:36:25 +02:00
Ralf Jung 169f7911e9 move CTFE engine snapshot state out of miri engine into CTFE machine instance 2018-09-20 10:12:21 +02:00
Ralf Jung 3cb736af75 miri loop detector hashing: fix enum hashing to also consider discriminant; do not hash extra machine state
standalone miri is not interested in loop detection
2018-09-09 10:53:36 +02:00
Bruno Dutra 05cdf8dc3d Document snapshot.rs 2018-09-03 20:03:14 +02:00
Bruno Dutra 61a999a531 Move InfiniteLoopDetector to snapshot.rs 2018-09-03 20:02:35 +02:00