about summary refs log tree commit diff
path: root/src/librustc_mir/interpret/visitor.rs
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-272/+0
2020-07-05catch errors more locally around read_discriminantRalf Jung-1/+10
2020-04-19Auto merge of #70598 - vakaras:add-threads-cr3, r=oli-obk,RalfJungbors-2/+4
Make the necessary changes to support concurrency in Miri. This pull request makes the necessary changes to the Rust compiler to allow Miri to support concurrency: 1. Move stack from the interpretation context (`InterpCx`) to machine, so that the machine can switch the stacks when it changes the thread being executed. 2. Add the callbacks that allow the machine to generate fresh allocation ids for each thread local allocation and to translate them back to original allocations when needed. This allows the machine to ensure the property that allocation ids are unique, which allows using a simpler representation of the memory. r? @oli-obk cc @RalfJung
2020-04-16rustc_target::abi: add Primitive variant to FieldsShape.Ana-Maria Mihalache-1/+4
2020-04-15Make the necessary changes to support concurrency in Miri.Vytautas Astrauskas-2/+4
2020-04-02nix rustc_target::abi::* reexport in ty::layoutMazdak Farrokhzad-6/+7
2020-03-31rustc_target::abi: rename FieldPlacement to FieldsShape.Ana-Maria Mihalache-3/+3
2020-03-30rustc -> rustc_middle part 2Mazdak Farrokhzad-3/+3
2020-03-27Rename TyLayout to TyAndLayout.Ana-Maria Mihalache-4/+4
2020-03-25miri: avoid a bunch of casts by offering usized-based field indexingRalf Jung-6/+13
2020-03-25use checked casts and arithmetic in Miri engineRalf Jung-1/+3
2020-02-18miri value visitor: fix some wrong assumptions about layout; improve error ↵Ralf Jung-91/+29
messages
2020-01-07Automatically prefer integer addresses for zst MPlaceOliver Scherer-8/+2
2019-12-22Format the worldMark Rousskov-27/+8
2019-09-25Rename `sty` to `kind`varkor-1/+1
2019-07-06Add check_mplace_ptr convenience method; provide ptr-normalization methods ↵Ralf Jung-2/+2
for mplace and op to avoid repeated int-to-ptr casting during validation. Also change Memory::copy to work on `Pointer` instead of `Scalar`. Also rename some methods from to_* to assert_* that will panic if their precondition is not met.
2019-06-27rename InterpretCx -> InterpCxRalf Jung-12/+12
That's more consistent with InterpResult and InterpError.
2019-06-19Fixmes and style fixesOliver Scherer-0/+1
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-8/+3
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-15/+15
2019-06-08rename EvalResult -> InterpResult and EvalError -> InterpErrorInfoRalf Jung-24/+24
2019-05-04fix Miri visiting generatorsRalf Jung-40/+20
2019-03-29rustc_target: factor out common fields of non-Single Variants.Eduard-Mihai Burtescu-2/+1
2019-03-26renames EvalContext to InterpretCx.kenta7777-12/+12
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-11/+11
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-11/+11
2019-02-10miri value visitor: use in macroRalf Jung-3/+3
2019-02-08librustc_mir => 2018Taiki Endo-1/+1
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-1/+1
2018-11-20treat generator fields like unionsRalf Jung-2/+22
2018-11-20fix commentRalf Jung-1/+0
2018-11-20generator fields are not necessarily initializedRalf Jung-11/+22
2018-11-15miri value visitor: provide place when visiting a primitiveRalf Jung-6/+6
2018-11-12miri-engine value visitor update to VariantIdxOliver Scherer-5/+15
2018-11-05walk_value: more tracingRalf Jung-0/+1
2018-11-05make ValueVisitor mut-polymorphicRalf Jung-214/+185
2018-11-05FIXMERalf Jung-1/+1
2018-11-05visit_aggregate with an iterator; fix some comment typosRalf Jung-37/+59
2018-11-05the visitor can already load the value for visit_primitiveRalf Jung-5/+9
2018-11-05all values can convert to operatorsRalf Jung-45/+46
2018-11-05finally this actually looks like a visitorRalf Jung-67/+63
2018-11-05use more traditional walk_array/visit_array instead of the handle_array hookRalf Jung-60/+60
2018-11-05converting a VisitorValue to a MemPlace must not mutate anythingRalf Jung-11/+12
2018-11-05let the Value handle enum projections, so the visitor does not have to careRalf Jung-8/+39
2018-11-05provide some default implementationsRalf Jung-6/+9
2018-11-05add visit() hook to the traitRalf Jung-11/+19
2018-11-05also allow visiting places and mplacesRalf Jung-9/+76
2018-11-05reduce the amount of traversal/projection code that the visitor has to ↵Ralf Jung-27/+117
implement itself
2018-11-05generalize the traversal part of validation to a ValueVisitorRalf Jung-0/+125