| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-01-15 | Elaborate on comments | Oliver Scherer | -0/+14 | |
| 2020-01-15 | Promoteds can contain raw pointers, but these must still only point to ↵ | Oliver Scherer | -12/+36 | |
| immutable allocations | ||||
| 2020-01-14 | Untangle ZST validation from integer validation and generalize it to all zsts | Oliver Scherer | -11/+7 | |
| 2020-01-13 | Auto merge of #68088 - oli-obk:fix_miri, r=RalfJung | bors | -3/+8 | |
| Don't try to force_ptr pointers to zsts r? @RalfJung cc @wesleywiser This is required to fix miri after https://github.com/rust-lang/rust/pull/67501 broke it. The reason only miri sees this is that it uses validation on values during interpretation and not just on the final value of constants, which never contain such values. | ||||
| 2020-01-13 | Early abort validation of arrays of zsts because there is no data to be checked | Oliver Scherer | -3/+8 | |
| 2020-01-10 | Remove an outdated comment | Oliver Scherer | -1/+0 | |
| 2020-01-10 | Promoteds also need param envs. | Oliver Scherer | -13/+15 | |
| This also allows us to use the `const_eval` query again without causing cycles | ||||
| 2020-01-10 | Remove PlaceBase enum and make Place base field be local: Local | Santiago Pastorino | -13/+9 | |
| 2020-01-10 | Remove Static from PlaceBase | Santiago Pastorino | -32/+0 | |
| 2020-01-10 | Remove StaticKind | Santiago Pastorino | -28/+22 | |
| 2020-01-10 | Remove StaticKind::Promoted | Santiago Pastorino | -16/+3 | |
| 2020-01-10 | Promote `Ref`s to constants instead of static | Santiago Pastorino | -9/+18 | |
| 2020-01-10 | Revert const_eval call to use const_eval_raw to avoid const validation cycles | Santiago Pastorino | -1/+6 | |
| 2020-01-09 | Rename `Unsized` to `Meta` | Oliver Scherer | -22/+22 | |
| 2020-01-09 | Update src/librustc_mir/interpret/place.rs | Oliver Scherer | -0/+1 | |
| Co-Authored-By: Ralf Jung <post@ralfj.de> | ||||
| 2020-01-07 | Actually use the poison value | Oliver Scherer | -7/+3 | |
| 2020-01-07 | Add more documentation | Oliver Scherer | -0/+2 | |
| 2020-01-07 | Add warning label to `try_as_mplace` | Oliver Scherer | -0/+4 | |
| 2020-01-07 | Remove a bunch of dead functions and make some functions private | Oliver Scherer | -37/+3 | |
| 2020-01-07 | Poison any `MemPlace` created from a zst Operand (or otherwise via ↵ | Oliver Scherer | -43/+102 | |
| `MPlaceTy::dangling`) so you can't get the address back out. | ||||
| 2020-01-07 | Move `to_const_value` from `MPlaceTy` to its only use site | Oliver Scherer | -16/+1 | |
| 2020-01-07 | Fix an ICE happening due code assuming that `MPlaceTy` cannot have integer ↵ | Oliver Scherer | -3/+23 | |
| addresses | ||||
| 2020-01-07 | Remove a ZST special casing that is not necessary anymore | Oliver Scherer | -6/+2 | |
| 2020-01-07 | Automatically prefer integer addresses for zst MPlace | Oliver Scherer | -50/+22 | |
| 2020-01-06 | Auto merge of #67886 - Centril:rustc_hir_canon_imports, r=nagisa | bors | -7/+7 | |
| Nix `rustc_hir` reexports in rustc::hir r? @Zoxc cc @Mark-Simulacrum | ||||
| 2020-01-05 | Use Instance.ty_env instead of Instance.monomorphic_ty in interpreter | Aaron Hill | -1/+1 | |
| 2020-01-05 | Rename Instance.ty to Instance.monomorphic_ty | Aaron Hill | -1/+1 | |
| 2020-01-05 | Fix ICE involving calling `Instance.ty` during const evaluation | Aaron Hill | -1/+1 | |
| Fixes #67639 `Instance.ty` assumes that we are in a fully monomorphic context (e.g. codegen), and can therefore use an empty `ParamEnv` when performing normalization. Howver, the MIR constant evaluator code ends up calling `Instance.ty` as a result of us attemptign to 'speculatively' const-evaluate generic functions during const propagation. As a result, we may end up with projections involving type parameters (e.g. <T as MyTrait>::Bar>) in the type we are trying to normalize. Normalization expects us to have proper predicates in the `ParamEnv` for such projections, and will ICE if we don't. This commit adds a new method `Instance.ty_env`, which takes a `ParamEnv` for use during normalization. The MIR const-evaluator code is changed to use this method, passing in the proper `ParamEnv` for the context at hand. | ||||
| 2020-01-05 | Remove rustc_hir reexports in rustc::hir. | Mazdak Farrokhzad | -7/+7 | |
| 2020-01-04 | Rollup merge of #67137 - anp:tracked-panic-internals, r=eddyb | Dylan DPC | -38/+19 | |
| libstd uses `core::panic::Location` where possible. cc @eddyb | ||||
| 2020-01-04 | Restrict visibility of location_triple_for_span. | Adam Perry | -1/+1 | |
| 2020-01-04 | Update ABI in const impls of panic_fn/begin_panic_fn. | Adam Perry | -38/+19 | |
| 2020-01-04 | core and std macros and panic internals use panic::Location::caller. | Adam Perry | -1/+1 | |
| 2020-01-02 | Normalize `syntax::symbol` imports. | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-02 | Normalize `syntax::source_map` imports. | Mazdak Farrokhzad | -3/+3 | |
| 2020-01-01 | Rename `syntax_pos` to `rustc_span` in source code | Vadim Petrochenkov | -6/+6 | |
| 2019-12-30 | Auto merge of #67667 - wesleywiser:speed_up_trivially_valid_constants, r=oli-obk | bors | -3/+12 | |
| Resolve long compile times when evaluating always valid constants This extends the existing logic which skips validating every integer or floating point number type to also skip validating empty structs because they are also trivially valid. Fixes #67539 r? @oli-obk cc @RalfJung @spastorino | ||||
| 2019-12-29 | Resolve long compile times when evaluating always valid constants | Wesley Wiser | -3/+12 | |
| This extends the existing logic which skips validating every integer or floating point number type to also skip validating empty structs because they are also trivially valid. Fixes #67539 | ||||
| 2019-12-28 | Avoid copying some undef memory in MIR | Santiago Pastorino | -24/+28 | |
| During MIR interpretation it may happen that a place containing uninitialized bytes is copied. This would read the current representation of these bytes and write it to the destination even though they must, by definition, not matter to the execution. This elides that representation change when no bytes are defined in such a copy, saving some cpu cycles. In such a case, the memory of the target allocation is not touched at all which also means that sometimes no physical page backing the memory allocation of the representation needs to be provided by the OS at all, reducing memory pressure on the system. | ||||
| 2019-12-27 | Avoid memory copy logic for zsts | Santiago Pastorino | -1/+9 | |
| Closes #67539 | ||||
| 2019-12-26 | Fix rebase fallout | Oliver Scherer | -1/+6 | |
| 2019-12-26 | Use the targetted const eval functions | Oliver Scherer | -9/+5 | |
| 2019-12-26 | Reintroduce the recursion comment | Oliver Scherer | -0/+4 | |
| 2019-12-26 | Documentation nit | Oliver Scherer | -1/+2 | |
| 2019-12-26 | Add a `const_eval` helper to `InterpCx` | Oliver Scherer | -20/+23 | |
| 2019-12-26 | Explain why `const_eval` is ok here | Oliver Scherer | -0/+7 | |
| 2019-12-26 | Typo | Oliver Scherer | -1/+1 | |
| 2019-12-26 | Remove unintended noisy log statement | Oliver Scherer | -1/+1 | |
| 2019-12-26 | Explain the currently necessary existance of `TransmuteSizeDiff` | Oliver Scherer | -0/+4 | |
| 2019-12-26 | Explain what we are doing with parameter environments for statics | Oliver Scherer | -5/+5 | |
