about summary refs log tree commit diff
path: root/src/librustc/mir/interpret
AgeCommit message (Collapse)AuthorLines
2019-08-01code review fixesSaleem Jaffer-31/+40
2019-07-31code review fixesSaleem Jaffer-3/+3
2019-07-31code review fixesSaleem Jaffer-15/+26
2019-07-30throw_X macros use err_X macrosSaleem Jaffer-10/+2
2019-07-30renaming throw_err_* to throw_*Saleem Jaffer-22/+22
2019-07-30renaming err to err_unsupSaleem Jaffer-14/+14
2019-07-30adding throw_ and err_ macros for InterpErrorSaleem Jaffer-39/+36
2019-07-30addding an interp_error moduleSaleem Jaffer-0/+21
2019-07-29code review fixesSaleem Jaffer-10/+10
2019-07-29code review fixesSaleem Jaffer-0/+1
2019-07-29use PanicInfo and UnsupportedOpInfoSaleem Jaffer-10/+10
2019-07-29adding a err macro for each of the InterpError variantsSaleem Jaffer-23/+54
2019-07-29implementing Debug for UnsupportedInfoSaleem Jaffer-99/+108
2019-07-29fixing fallout due to InterpError refactorSaleem Jaffer-80/+120
2019-07-29code review fixesSaleem Jaffer-6/+7
2019-07-29moving remaining variants to UnsupportedInfoSaleem Jaffer-25/+22
2019-07-29more grouping of the variants in InterpErrorSaleem Jaffer-42/+44
2019-07-29grouping the variants of InterpErrorSaleem Jaffer-10/+26
2019-07-29changing the fields of InterpErrorSaleem Jaffer-8/+23
2019-07-28better name for check_in_allocRalf Jung-1/+4
2019-07-25Rollup merge of #62901 - petrochenkov:serde, r=CentrilMazdak Farrokhzad-4/+4
cleanup: Remove `extern crate serialize as rustc_serialize`s
2019-07-24Apply suggestions from code reviewRalf Jung-4/+4
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-07-24use PanicMessage type for MIR assertion errorsRalf Jung-50/+77
2019-07-24kill InterpError::descriptionRalf Jung-154/+116
2019-07-24do not use InterpError::description outside librustc::mirRalf Jung-1/+1
2019-07-23cleanup: Remove `extern crate serialize as rustc_serialize`sVadim Petrochenkov-4/+4
2019-07-23renames EvalErrorPanic to PanicMessageSaleem Jaffer-21/+21
2019-07-23moving some variants from InterpError to EvalErrorPanicSaleem Jaffer-27/+32
2019-07-20alters the panic variant of InterpErrorSaleem Jaffer-39/+22
2019-07-18tries to refactor InterpError in mirSaleem Jaffer-6/+37
2019-07-06remove another unused methodRalf Jung-13/+0
2019-07-06add assert_{bits,ptr}; document which methods we hope to get rid ofRalf Jung-0/+20
2019-07-05remove Scalar::is_null_ptrRalf Jung-11/+0
Miri does not need it any more and it is otherwise unused
2019-07-04Rollup merge of #62173 - RalfJung:miri-interp, r=oli-obkMazdak Farrokhzad-1/+1
rename InterpretCx -> InterpCx That's more consistent with InterpResult and InterpError. r? @oli-obk
2019-07-02Auto merge of #61871 - Zoxc:no-lift-branch, r=eddybbors-0/+4
Don't use lift to detect local types This overlaps with https://github.com/rust-lang/rust/pull/61392. r? @eddyb
2019-06-30Clean up query cache codeJohn Kåre Alsaker-1/+1
2019-06-27rename InterpretCx -> InterpCxRalf Jung-1/+1
That's more consistent with InterpResult and InterpError.
2019-06-26Don't use lift to detect local typesJohn Kåre Alsaker-0/+4
2019-06-24fix reoccurring typoRalf Jung-10/+10
2019-06-23clean up internals of pointer checks; make get_size_and_align also check for ↵Ralf Jung-15/+3
fn allocations
2019-06-23move CheckInAllocMsg to more logical placeRalf Jung-25/+25
2019-06-23Centralize bounds, alignment and NULL checking for memory accesses in one ↵Ralf Jung-49/+51
function: memory.check_ptr_access That function also takes care of converting a Scalar to a Pointer, should that be needed. Not all accesses need that though: if the access has size 0, None is returned. Everyone accessing memory based on a Scalar should use this method to get the Pointer they need. All operations on the Allocation work on Pointer inputs and expect all the checks to have happened (and will ICE if the bounds are violated). The operations on Memory work on Scalar inputs and do the checks themselves. The only other public method to check pointers is memory.ptr_may_be_null, which is needed in a few places. With this, we can make all the other methods (tests for a pointer being in-bounds and checking alignment) private helper methods, used to implement the two public methods. That maks the public API surface much easier to use and harder to mis-use. While I am at it, this also removes the assumption that the vtable part of a `dyn Trait`-fat-pointer is a `Pointer` (as opposed to a pointer cast to an integer, stored as raw bits).
2019-06-21Documentation typoOliver Scherer-1/+1
2019-06-19Pacify tidyOliver Scherer-5/+6
2019-06-19Change `ByRef` to a struct variant to clarify its fields via namesOliver Scherer-8/+15
2019-06-19Remove the `AllocId` from `ByRef` valuesOliver Scherer-3/+2
`ByRef` const values have no identity beyond their value, we should not treat them as having identity. The `AllocId` often differed between equal constants, because of the way that the miri-engine evaluates constants.
2019-06-19mark_definedness cannot failOliver Scherer-5/+7
2019-06-19packed -> repr(packed)Oliver Scherer-1/+1
2019-06-19Fix comment about alignmentsOliver Scherer-2/+2
2019-06-19Explain existance of `Align` fieldOliver Scherer-1/+4