about summary refs log tree commit diff
path: root/src/librustc/mir/interpret/mod.rs
AgeCommit message (Collapse)AuthorLines
2019-04-02renames EvalErrorKind to InterpErrorkenta7777-2/+2
2019-03-27renames EvalContext to InterpretCx in docs and comments.kenta7777-1/+1
2019-03-13Use derive macro for HashStableJohn Kåre Alsaker-2/+3
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-7/+7
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-10rustc: doc commentsAlexander Regueiro-7/+7
2019-02-09miri: give non-generic functions a stable addressRalf Jung-8/+23
2019-02-05move librustc to 2018Mark Mansi-8/+8
2018-12-29Remove unused types from rustc::mir::interpretMatthew Jasper-22/+0
The types are no longer used with the change to stacked borrows for validation.
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-04No need to export functions only used in the same moduleOliver Scherer-1/+1
2018-12-04Mention `alloc` in the name of the interning methodsOliver Scherer-6/+6
2018-12-04s/id_to_type/id_to_kind/Oliver Scherer-7/+7
2018-12-04Clear up commentOliver Scherer-1/+3
2018-12-04s/alloc_type/alloc_kind/Oliver Scherer-7/+7
2018-12-03s/AllocType/AllocKind/Oliver Scherer-14/+14
2018-12-03s/AllocKind/AllocDiscriminant/Oliver Scherer-11/+11
2018-12-03Document `AllocMap`Oliver Scherer-2/+20
2018-12-03Function pointers are only equal to themselves, not to other function ↵Oliver Scherer-5/+8
pointers to the same function
2018-12-03Monomorphize `AllocType`Oliver Scherer-7/+7
2018-12-03Monomorphize `AllocMap` structOliver Scherer-11/+10
2018-11-19Make const_eval_raw query return just an AllocIdRalf Jung-2/+2
2018-11-15do not accept out-of-bounds pointers in enum discriminants, they might be NULLRalf Jung-1/+1
2018-11-08Move `Pointer` to its own moduleOliver Scherer-147/+4
2018-11-08Move ScalarMaybeUndef into `value.rs`Oliver Scherer-129/+1
2018-11-08Move UndefMask and Relocations into `allocation.rs`Oliver Scherer-133/+4
2018-11-08Move the `memory_accessed` hook onto the `Extra` valueOliver Scherer-1/+1
2018-11-08Move `ScalarMaybeUndef` back to rustcOliver Scherer-0/+128
2018-11-08Move `Allocation` into its own moduleOliver Scherer-58/+4
2018-11-05proide ptr_wrapping_offset on ScalarsRalf Jung-36/+43
2018-11-04rustc_target: pass contexts by reference, not value.Eduard-Mihai Burtescu-12/+12
2018-10-30Use vec![x; n] instead of iter::repeat(x).take(n).collect()ljedrz-4/+2
2018-10-26Auto merge of #53821 - oli-obk:sanity_query, r=RalfJungbors-6/+6
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-25for now, just use NULL ptr for unsized localsRalf Jung-5/+5
2018-10-25Report const eval error inside the queryOliver Schneider-1/+1
2018-10-23fix typos in various placesMatthias Krüger-1/+1
2018-10-21Auto merge of #55125 - RalfJung:stacked-borrows, r=oli-obkbors-2/+6
miri engine: Hooks for basic stacked borrows r? @oli-obk
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-2/+2
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-2/+2
2018-10-18add support for storing extra data in an allocationRalf Jung-2/+6
2018-10-10miri engine: basic support for pointer provenance trackingRalf Jung-18/+46
2018-10-01Auto merge of #54693 - RalfJung:ctfe-scalar-pair-undef, r=oli-obkbors-1/+1
do not normalize all non-scalar constants to a ConstValue::ScalarPair We still need `ConstValue::ScalarPair` for match handling (matching slices and strings), but that will never see anything `Undef`. For non-fat-ptr `ScalarPair`, just point to the allocation like larger data structures do. Fixes https://github.com/rust-lang/rust/issues/54387 r? @eddyb
2018-09-30move ScalarMaybeUndef into the miri engineRalf Jung-1/+1
2018-09-29don't elide lifetimes in paths in librustc/Zack M. Davis-2/+2
This seemed like a good way to kick the tires on the elided-lifetimes-in-paths lint (#52069)—seems to work! This was also pretty tedious—it sure would be nice if `cargo fix` worked on this codebase (#53896)!
2018-09-08Auto merge of #53903 - GabrielMajeri:opt-miri-array-slice, r=oli-obkbors-7/+14
Optimize miri checking of integer array/slices This pull request implements the optimization described in #53845 (the `E-easy` part of that issue, not the refactoring). Instead of checking every element of an integral array, we can check the whole memory range at once. r? @RalfJung
2018-09-08Optimize miri checking of integer array/slicesGabriel Majeri-7/+14
Instead of checking every element, we can check the whole memory range at once.
2018-09-03Document snapshot.rsBruno Dutra-0/+5
2018-09-03Make vaious allocation related types generic on the allocation idBruno Dutra-6/+6
2018-08-29audit the relocations code, and clean it up a littleRalf Jung-1/+3
2018-08-29move some Scalar helpers from miri here, and use them where appropriateRalf Jung-1/+6
2018-08-27Miri Memory WorkRalf Jung-7/+9
* Unify the two maps in memory to store the allocation and its kind together. * Share the handling of statics between CTFE and miri: The miri engine always uses "lazy" `AllocType::Static` when encountering a static. Acessing that static invokes CTFE (no matter the machine). The machine only has any influence when writing to a static, which CTFE outright rejects (but miri makes a copy-on-write). * Add an `AllocId` to by-ref consts so miri can use them as operands without making copies. * Move responsibilities around for the `eval_fn_call` machine hook: The hook just has to find the MIR (or entirely take care of everything); pushing the new stack frame is taken care of by the miri engine. * Expose the intrinsics and lang items implemented by CTFE so miri does not have to reimplement them.