| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-11-07 | calling the ptr hooks no longer needs expensive preparation, remove the opt-out | Ralf Jung | -1/+0 | |
| 2018-11-05 | make ValueVisitor mut-polymorphic | Ralf Jung | -1/+1 | |
| 2018-11-05 | generalize the traversal part of validation to a ValueVisitor | Ralf Jung | -3/+3 | |
| 2018-11-02 | Rename `Value` to `Immediate` for miri | Oliver Scherer | -4/+4 | |
| 2018-10-29 | Assert that promoteds don't fail to be evaluated for being too generic | Oliver Scherer | -1/+5 | |
| 2018-10-29 | Auto merge of #55270 - RalfJung:stacked-borrows-ng, r=oli-obk | bors | -20/+9 | |
| miri engine: Stacked Borrows NG For more refined tracking in miri, we do return untagged pointers from the memory abstraction after allocations and let the caller decide how to tag these. Also refactor the `tag_(de)reference` hooks so they can be more easily called in the ref-to-place and place-to-ref methods, and reorder things in validation: validation calls ref-to-place which (when running in miri) triggers some checks, so we want to run it rather late and catch other problems first. We also do not need to redundantly check the ref to be allocated any more, the checks miri does anyway imply thath. r? @oli-obk | ||||
| 2018-10-28 | Auto merge of #54487 - RalfJung:ctfe-backtrace, r=oli-obk | bors | -7/+13 | |
| Delayed CTFE backtraces This renames the env var that controls CTFE backtraces from `MIRI_BACKTRACE` to `RUST_CTFE_BACKTRACE` so that we can use `MIRI_BACKTRACE` in the miri tool to only show backtraces of the main miri execution. It also makes `RUST_CTFE_BACKTRACE` only show backtraces that actually get rendered as errors, instead of showing them eagerly when the `Err` happens. The current behavior is near useless in miri because it shows about one gazillion backtraces for errors that we later catch and do not care about. However, @oli-obk likes the current behavior for rustc CTFE work so it is still available via `RUST_CTFE_BACKTRACE=immediate`. NOTE: This is based on top of https://github.com/rust-lang/rust/pull/53821. Only [the last three commits](https://github.com/oli-obk/rust/compare/sanity_query...RalfJung:ctfe-backtrace) are new. Fixes https://github.com/rust-lang/rust/issues/53355 | ||||
| 2018-10-28 | don't tag new memory inside memory.rs; add machine hook to tag new memory | Ralf Jung | -2/+11 | |
| 2018-10-28 | rename env var to control ctfe backtraces, and make it usually show the ↵ | Ralf Jung | -7/+13 | |
| backtrace delayed The env var is now RUST_CTFE_BACKTRACE. Similar to RUST_BACKTRACE, it usually only prints a backtrace when the error actually surfaces, not when it happens. This makes a difference when we catch errors. As per @oli-obk's request, one can set RUST_CTFE_BACKTRACE=immediate to get the backtrace shown immediately. | ||||
| 2018-10-28 | validity in non-const mode relies on ref_to_mplace checking bounds; ↵ | Ralf Jung | -25/+3 | |
| (de)reference hooks work on places | ||||
| 2018-10-28 | make (de)reference hooks more consistent | Ralf Jung | -2/+4 | |
| 2018-10-26 | Impl items have generics | Oliver Scherer | -0/+7 | |
| 2018-10-26 | Auto merge of #53821 - oli-obk:sanity_query, r=RalfJung | bors | -45/+141 | |
| Report const eval error inside the query Functional changes: We no longer warn about bad constants embedded in unused types. This relied on being able to report just a warning, not a hard error on that case, which we cannot do any more now that error reporting is consistently centralized. r? @RalfJung fixes #53561 | ||||
| 2018-10-25 | Explain how unused constants may still cause a hard error | Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer | -0/+4 | |
| 2018-10-25 | Rebase fallout | Oliver Schneider | -8/+5 | |
| 2018-10-25 | Addressed minor issues brought up in review. | Alexander Regueiro | -6/+9 | |
| 2018-10-25 | Document error/lint cases in const eval | Oliver Schneider | -1/+9 | |
| 2018-10-25 | Explain the `Reveal::UserFacing` deduplication trick | Oliver Schneider | -0/+7 | |
| 2018-10-25 | Deduplicate all the ~~things~~ errors | Oliver Schneider | -0/+21 | |
| 2018-10-25 | Report const eval error inside the query | Oliver Schneider | -44/+100 | |
| 2018-10-23 | fix typos in various places | Matthias Krüger | -1/+1 | |
| 2018-10-18 | don't do any work towards ptr provenance in const mode | Ralf Jung | -0/+1 | |
| 2018-10-18 | add 'raw reference' to the machine hook, and use that in ptr-to-raw casts | Ralf Jung | -1/+1 | |
| 2018-10-18 | also hook dereferencing | Ralf Jung | -9/+17 | |
| 2018-10-18 | provide machine hooks for creating references and accessing memory | Ralf Jung | -1/+10 | |
| 2018-10-18 | give machine more control over what counts as memory leak | Ralf Jung | -0/+8 | |
| 2018-10-18 | add support for storing extra data in an allocation | Ralf Jung | -5/+5 | |
| 2018-10-13 | make ENFORCE_VALIDITY a function | Ralf Jung | -1/+5 | |
| miri needs this extra flexibility | ||||
| 2018-10-13 | validate return value on stack pop | Ralf Jung | -4/+5 | |
| 2018-10-10 | abstract mono_hash_map through a trait, only miri actually needs the fancy one | Ralf Jung | -2/+68 | |
| 2018-10-10 | fix typos | Ralf Jung | -1/+1 | |
| 2018-10-10 | rename extra -> meta in place | Ralf Jung | -2/+2 | |
| 2018-10-10 | miri engine: basic support for pointer provenance tracking | Ralf Jung | -2/+12 | |
| 2018-10-09 | add machine option to validate things on every copy | Ralf Jung | -0/+1 | |
| 2018-10-03 | Only promote calls to `#[rustc_promotable]` const fns | Oliver Schneider | -6/+0 | |
| 2018-09-30 | do not normalize non-scalar constants to a ConstValue::ScalarPair | Ralf Jung | -3/+13 | |
| 2018-09-20 | fix stage 0 compilation | Ralf Jung | -1/+2 | |
| 2018-09-20 | move loop detector constants to the module that uses them; make lifetime ↵ | Ralf Jung | -10/+10 | |
| order in ConstPropagator consistent with Memory | ||||
| 2018-09-20 | make some things a bit more private | Ralf Jung | -1/+1 | |
| 2018-09-20 | rename evaluator -> interpreter to make eddyb happy | Ralf Jung | -8/+8 | |
| 2018-09-20 | move CTFE engine snapshot state out of miri engine into CTFE machine instance | Ralf Jung | -26/+76 | |
| 2018-09-09 | miri loop detector hashing: fix enum hashing to also consider discriminant; ↵ | Ralf Jung | -0/+1 | |
| do not hash extra machine state standalone miri is not interested in loop detection | ||||
| 2018-09-07 | make field always private, add `From` impls | Niko Matsakis | -1/+1 | |
| 2018-09-03 | Implement Hash in terms of HashStable for EvalSnapshot | Bruno Dutra | -0/+2 | |
| 2018-08-29 | make ptr_op finally reponsible for all ops involving pointers; make ValTy ↵ | Ralf Jung | -11/+7 | |
| constructor private Also remove public OpTy constructors, but a pub(crate) constructor remains | ||||
| 2018-08-28 | first test const-ness, then hook fn call | Ralf Jung | -4/+6 | |
| 2018-08-27 | use associated const for machine controlling mutable statics | Ralf Jung | -22/+4 | |
| So get rid of the IsStatic trait again | ||||
| 2018-08-27 | fix handling of unsized types in validation; validate str to be UTF-8 | Ralf Jung | -2/+2 | |
| 2018-08-27 | validate enum discriminant whenever it is read | Ralf Jung | -1/+1 | |
| 2018-08-27 | get rid of FinishStatic hack from stack clenaup; const_eval can do that itself | Ralf Jung | -9/+11 | |
