]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoMerge branch 'master' into oli-obk-patch-2
Oliver Schneider [Wed, 9 Aug 2017 19:35:51 +0000 (21:35 +0200)]
Merge branch 'master' into oli-obk-patch-2

6 years agoMerge pull request #294 from oli-obk/cargo_miri
Ralf Jung [Wed, 9 Aug 2017 18:15:59 +0000 (11:15 -0700)]
Merge pull request #294 from oli-obk/cargo_miri

Make cargo_miri a feature

6 years agoUpdate build.rs
Oliver Schneider [Wed, 9 Aug 2017 16:05:34 +0000 (18:05 +0200)]
Update build.rs

6 years agoMake cargo_miri a feature
Oliver Schneider [Wed, 9 Aug 2017 14:12:27 +0000 (16:12 +0200)]
Make cargo_miri a feature

1. Speeds up the common compilation path (no serde in the dependency tree)
2. Stage 1 rustc is enough (no serde -> no custom derive)

6 years agoMerge pull request #292 from oli-obk/static_alloc_ids
Oliver Schneider [Wed, 9 Aug 2017 14:06:14 +0000 (16:06 +0200)]
Merge pull request #292 from oli-obk/static_alloc_ids

Prepare for splitting off static alloc ids from local alloc ids

6 years agoRename `destructure` method to `into_alloc_id_kind`
Oliver Schneider [Wed, 9 Aug 2017 12:54:37 +0000 (14:54 +0200)]
Rename `destructure` method to `into_alloc_id_kind`

6 years agorename `memory::Kind` to `memory::MemoryKind`
Oliver Schneider [Wed, 9 Aug 2017 12:53:22 +0000 (14:53 +0200)]
rename `memory::Kind` to `memory::MemoryKind`

6 years agoc_int != usize
Oliver Schneider [Tue, 8 Aug 2017 15:02:01 +0000 (17:02 +0200)]
c_int != usize

6 years agoDump all allocs when dumping locals
Oliver Schneider [Tue, 8 Aug 2017 14:29:47 +0000 (16:29 +0200)]
Dump all allocs when dumping locals

6 years agoclarify which function is pushing a global
Oliver Schneider [Tue, 8 Aug 2017 14:19:11 +0000 (16:19 +0200)]
clarify which function is pushing a global

6 years agoRemove unused function
Oliver Schneider [Tue, 8 Aug 2017 14:18:59 +0000 (16:18 +0200)]
Remove unused function

6 years agoImplement packed statics
Oliver Schneider [Tue, 8 Aug 2017 13:53:07 +0000 (15:53 +0200)]
Implement packed statics

6 years agoAlways allocate for globals
Oliver Schneider [Tue, 8 Aug 2017 12:22:11 +0000 (14:22 +0200)]
Always allocate for globals

statics are rare and constants are copied anyway.
Reading from a constant should then yield a `ByVal` again if possible.

6 years agoSplit the alloc id address space into functions and normal allocs
Oliver Schneider [Tue, 8 Aug 2017 11:06:14 +0000 (13:06 +0200)]
Split the alloc id address space into functions and normal allocs

instead of interleaving them as before.
The next step is to also separate out static memory into its own
address space.

6 years agoMerge pull request #291 from RalfJung/cross-platform
Ralf Jung [Mon, 7 Aug 2017 21:45:29 +0000 (14:45 -0700)]
Merge pull request #291 from RalfJung/cross-platform

make xargo/build.sh more cross-platform

6 years agomake xargo/build.sh more cross-platform
Ralf Jung [Mon, 7 Aug 2017 20:52:28 +0000 (13:52 -0700)]
make xargo/build.sh more cross-platform

6 years agoMerge pull request #288 from RalfJung/mir-validate
Oliver Schneider [Mon, 7 Aug 2017 20:44:21 +0000 (22:44 +0200)]
Merge pull request #288 from RalfJung/mir-validate

Re-do memory locking

6 years agoRe-do memory locking (again). Now with proper support for multiple independent share...
Ralf Jung [Mon, 7 Aug 2017 19:34:33 +0000 (12:34 -0700)]
Re-do memory locking (again).  Now with proper support for multiple independent shared borrows of the same mutable reference.

6 years agoMerge pull request #289 from RalfJung/rusutp
Ralf Jung [Mon, 7 Aug 2017 19:57:14 +0000 (12:57 -0700)]
Merge pull request #289 from RalfJung/rusutp

Update for Rust nightly

6 years agoRustup
Oliver Schneider [Mon, 7 Aug 2017 11:40:10 +0000 (13:40 +0200)]
Rustup

6 years agoMerge pull request #283 from RalfJung/backtrace
Oliver Schneider [Sat, 5 Aug 2017 14:29:45 +0000 (16:29 +0200)]
Merge pull request #283 from RalfJung/backtrace

Backtrace performance

6 years agoMerge pull request #286 from RalfJung/mir-validate
Ralf Jung [Sat, 5 Aug 2017 05:02:52 +0000 (22:02 -0700)]
Merge pull request #286 from RalfJung/mir-validate

Update MIR validation and test it

6 years agoconsolidate making Undef release a NOP in one place
Ralf Jung [Fri, 4 Aug 2017 23:01:46 +0000 (16:01 -0700)]
consolidate making Undef release a NOP in one place

6 years agoonly collect backtrace when RUST_BACKTRACE is set; resolve symbols lazily when printing
Ralf Jung [Fri, 4 Aug 2017 17:55:35 +0000 (10:55 -0700)]
only collect backtrace when RUST_BACKTRACE is set; resolve symbols lazily when printing

6 years agoMerge pull request #284 from oli-obk/no_more_llvm_madness
Oliver Schneider [Fri, 4 Aug 2017 12:31:13 +0000 (14:31 +0200)]
Merge pull request #284 from oli-obk/no_more_llvm_madness

Rust reorders fields, but miri uses the order from the source files

6 years agoRustc reorders fields, but miri expects them in source order
Oliver Schneider [Fri, 4 Aug 2017 10:46:07 +0000 (12:46 +0200)]
Rustc reorders fields, but miri expects them in source order

6 years agoselectively disable validation in compile-fail where appropriate. cargo test now...
Ralf Jung [Wed, 2 Aug 2017 22:35:44 +0000 (15:35 -0700)]
selectively disable validation in compile-fail where appropriate. cargo test now passes :)

6 years agofor now, disable validation on optimized tests -- inlining breaks validation
Ralf Jung [Wed, 2 Aug 2017 18:31:53 +0000 (11:31 -0700)]
for now, disable validation on optimized tests -- inlining breaks validation

6 years agoLet -Zmir-emit-validate also control whether miri even acts on the validation commands
Ralf Jung [Wed, 2 Aug 2017 06:40:03 +0000 (23:40 -0700)]
Let -Zmir-emit-validate also control whether miri even acts on the validation commands

6 years agomake test suite MIR validation aware. run-pass passes with and without fullmir, if...
Ralf Jung [Wed, 2 Aug 2017 06:01:16 +0000 (23:01 -0700)]
make test suite MIR validation aware. run-pass passes with and without fullmir, if optimizations are disabled!

6 years agoRelease of an Undef local is fine, and a NOP
Ralf Jung [Wed, 2 Aug 2017 06:00:23 +0000 (23:00 -0700)]
Release of an Undef local is fine, and a NOP

6 years agomake execution with full MIR work: need to whitelist Arc drop impl and whatever it...
Ralf Jung [Wed, 2 Aug 2017 03:41:17 +0000 (20:41 -0700)]
make execution with full MIR work: need to whitelist Arc drop impl and whatever it calls

6 years agowith the new 'limited validation when there is unsafe', we can significantly shrink...
Ralf Jung [Wed, 2 Aug 2017 02:48:44 +0000 (19:48 -0700)]
with the new 'limited validation when there is unsafe', we can significantly shrink our whitelist

6 years agowith Validation MIR around drop being fixed, we can remove the hack working around...
Ralf Jung [Thu, 27 Jul 2017 05:02:52 +0000 (22:02 -0700)]
with Validation MIR around drop being fixed, we can remove the hack working around this

6 years agoRevert "disable validation code so that it all compiles against current nightly"
Ralf Jung [Wed, 26 Jul 2017 21:41:08 +0000 (14:41 -0700)]
Revert "disable validation code so that it all compiles against current nightly"

This reverts commit 791dbaf58402ef87c16485be8d8ee37b5aa1dda3.

6 years agoMerge pull request #280 from solson/archeology
Oliver Schneider [Thu, 3 Aug 2017 21:02:29 +0000 (23:02 +0200)]
Merge pull request #280 from solson/archeology

Produce backtraces for miri internals

6 years agoactually, we can use a plain constant
Ralf Jung [Thu, 3 Aug 2017 19:58:24 +0000 (12:58 -0700)]
actually, we can use a plain constant

6 years agono need to do run-time formatting
Ralf Jung [Thu, 3 Aug 2017 19:39:55 +0000 (12:39 -0700)]
no need to do run-time formatting

6 years agoMerge pull request #281 from RalfJung/unsized
Ralf Jung [Thu, 3 Aug 2017 18:39:30 +0000 (11:39 -0700)]
Merge pull request #281 from RalfJung/unsized

fix size_of_val on unsized tuples

6 years agoAdd a build script to inform the binary about its profile, and use that in the test...
Ralf Jung [Thu, 3 Aug 2017 18:36:58 +0000 (11:36 -0700)]
Add a build script to inform the binary about its profile, and use that in the test suite

6 years agofix comment
Ralf Jung [Thu, 3 Aug 2017 18:06:25 +0000 (11:06 -0700)]
fix comment

6 years agoReuse the `Backtrace` object instead of rolling our own
Oliver Schneider [Thu, 3 Aug 2017 10:37:52 +0000 (12:37 +0200)]
Reuse the `Backtrace` object instead of rolling our own

6 years agoRemove accidental text paste
Oliver Schneider [Thu, 3 Aug 2017 10:37:24 +0000 (12:37 +0200)]
Remove accidental text paste

6 years agofix size_of_val on unsized tuples
Ralf Jung [Wed, 2 Aug 2017 22:29:13 +0000 (15:29 -0700)]
fix size_of_val on unsized tuples

6 years agostep.rs: improve comment for clarity
Ralf Jung [Wed, 2 Aug 2017 06:51:23 +0000 (23:51 -0700)]
step.rs: improve comment for clarity

6 years agoChoose release miri for release tests
Oliver Schneider [Wed, 2 Aug 2017 16:28:12 +0000 (18:28 +0200)]
Choose release miri for release tests

6 years agoSpeed up travis by using release mode
Oliver Schneider [Wed, 2 Aug 2017 15:57:55 +0000 (17:57 +0200)]
Speed up travis by using release mode

before we built in debug mode for testing,
but then installed miri, which builds in release mode.

So we built in release mode anyway but tested slowly in debug mode

6 years agoProduce backtraces for miri internals
Oliver Schneider [Wed, 2 Aug 2017 14:59:01 +0000 (16:59 +0200)]
Produce backtraces for miri internals

6 years agoMerge pull request #278 from solson/unions
Eduard-Mihai Burtescu [Wed, 2 Aug 2017 11:09:04 +0000 (14:09 +0300)]
Merge pull request #278 from solson/unions

Process untagged unions

6 years agoAdd a test for untagged unions
Oliver Schneider [Wed, 2 Aug 2017 10:56:07 +0000 (12:56 +0200)]
Add a test for untagged unions

6 years agoMerge pull request #268 from oli-obk/upstream
Oliver Schneider [Wed, 2 Aug 2017 07:30:14 +0000 (09:30 +0200)]
Merge pull request #268 from oli-obk/upstream

Split up miri into the librustc_mir and bin parts

6 years agoBuild the rustc_tests binary on travis
Oliver Schneider [Tue, 1 Aug 2017 14:44:49 +0000 (16:44 +0200)]
Build the rustc_tests binary on travis

6 years agoProcess untagged unions
Oliver Schneider [Mon, 31 Jul 2017 15:14:49 +0000 (17:14 +0200)]
Process untagged unions

6 years agoAdd a better error message than `syscall 318 not found`
Oliver Schneider [Mon, 31 Jul 2017 15:14:27 +0000 (17:14 +0200)]
Add a better error message than `syscall 318 not found`

6 years agoFix running the rustc test suite
Oliver Schneider [Mon, 31 Jul 2017 15:14:15 +0000 (17:14 +0200)]
Fix running the rustc test suite

6 years agoAddress comments
Oliver Schneider [Tue, 1 Aug 2017 09:11:57 +0000 (11:11 +0200)]
Address comments

6 years agoProperly process ptr_op for const eval
Oliver Schneider [Mon, 31 Jul 2017 13:56:50 +0000 (15:56 +0200)]
Properly process ptr_op for const eval

6 years agoRemove redundant `members` field
Oliver Schneider [Mon, 31 Jul 2017 12:20:22 +0000 (14:20 +0200)]
Remove redundant `members` field

6 years agoRemove leftover unused file
Oliver Schneider [Mon, 31 Jul 2017 11:30:54 +0000 (13:30 +0200)]
Remove leftover unused file

6 years agoMove tls code to its own file
Oliver Schneider [Mon, 31 Jul 2017 11:30:44 +0000 (13:30 +0200)]
Move tls code to its own file

6 years agoAllow machines to create new memory kinds
Oliver Schneider [Fri, 28 Jul 2017 14:48:43 +0000 (16:48 +0200)]
Allow machines to create new memory kinds

6 years agoUpdate Cargo.toml
Oliver Schneider [Fri, 28 Jul 2017 12:16:40 +0000 (14:16 +0200)]
Update Cargo.toml

6 years agoAdjust travis to the directory changes
Oliver Schneider [Fri, 28 Jul 2017 11:49:04 +0000 (13:49 +0200)]
Adjust travis to the directory changes

6 years agoMove all intrinsics out of `interpret` and fail CTFE on intrinsic calls
Oliver Schneider [Fri, 28 Jul 2017 11:08:27 +0000 (13:08 +0200)]
Move all intrinsics out of `interpret` and fail CTFE on intrinsic calls

6 years agoUpdate env_logger in order to share more dependencies
Oliver Schneider [Fri, 28 Jul 2017 08:55:06 +0000 (10:55 +0200)]
Update env_logger in order to share more dependencies

6 years agoMove a method used everywhere out of `intrinsic.rs`
Oliver Schneider [Fri, 28 Jul 2017 08:16:36 +0000 (10:16 +0200)]
Move a method used everywhere out of `intrinsic.rs`

6 years agoFix doc text
Oliver Schneider [Fri, 28 Jul 2017 08:16:19 +0000 (10:16 +0200)]
Fix doc text

6 years agoReduce the chance of accidentally calling functions in CTFE
Oliver Schneider [Fri, 28 Jul 2017 07:52:19 +0000 (09:52 +0200)]
Reduce the chance of accidentally calling functions in CTFE

previously miri had a check for const fn and other cases that
CTFE requires. Instead the function call is completely
processed inside the machine. This allows CTFE to have full
control over what is called and miri to not have useless
CTFE-checks in normal mode.

6 years agoMove the `global_item` function to the `EvalContext`
Oliver Schneider [Thu, 27 Jul 2017 10:02:16 +0000 (12:02 +0200)]
Move the `global_item` function to the `EvalContext`

6 years agoRename `const_eval::Evaluator` to `CompileTimeFunctionEvaluator`
Oliver Schneider [Tue, 25 Jul 2017 13:22:52 +0000 (15:22 +0200)]
Rename `const_eval::Evaluator` to `CompileTimeFunctionEvaluator`

6 years agoMove more non-CTFE operations to the Machine
Oliver Schneider [Tue, 25 Jul 2017 09:32:48 +0000 (11:32 +0200)]
Move more non-CTFE operations to the Machine

6 years agoSplit "new" miri crate into modules
Oliver Schneider [Mon, 24 Jul 2017 13:19:32 +0000 (15:19 +0200)]
Split "new" miri crate into modules

6 years agoImplement the first machine function
Oliver Schneider [Fri, 21 Jul 2017 15:25:30 +0000 (17:25 +0200)]
Implement the first machine function

6 years agoSplit up miri into the librustc_mir and bin parts
Oliver Schneider [Fri, 21 Jul 2017 11:39:06 +0000 (13:39 +0200)]
Split up miri into the librustc_mir and bin parts

6 years agoMerge pull request #277 from RalfJung/nightly
Ralf Jung [Tue, 1 Aug 2017 00:14:38 +0000 (17:14 -0700)]
Merge pull request #277 from RalfJung/nightly

fix for latest nightly

6 years agofix for latest nightly
Ralf Jung [Mon, 31 Jul 2017 23:53:53 +0000 (16:53 -0700)]
fix for latest nightly

6 years agoMerge pull request #274 from RalfJung/packed2
Oliver Schneider [Mon, 31 Jul 2017 10:41:29 +0000 (12:41 +0200)]
Merge pull request #274 from RalfJung/packed2

make force_allocation handle packed ByValPair

6 years agoremove some commented-out tracing
Ralf Jung [Sat, 29 Jul 2017 02:44:03 +0000 (19:44 -0700)]
remove some commented-out tracing

6 years agoavoid anonymous bool
Ralf Jung [Sat, 29 Jul 2017 02:43:05 +0000 (19:43 -0700)]
avoid anonymous bool

6 years agouse Cell for memory's aligned flag to avoid infecting interfaces with 'fake' mutability
Ralf Jung [Thu, 27 Jul 2017 16:14:04 +0000 (09:14 -0700)]
use Cell for memory's aligned flag to avoid infecting interfaces with 'fake' mutability

6 years agomake force_allocation handle packed ByValPair
Ralf Jung [Thu, 27 Jul 2017 06:43:13 +0000 (23:43 -0700)]
make force_allocation handle packed ByValPair

6 years agoMerge pull request #272 from oli-obk/mir-validate
Oliver Schneider [Wed, 26 Jul 2017 21:37:52 +0000 (23:37 +0200)]
Merge pull request #272 from oli-obk/mir-validate

Mir validate

6 years agodisable validation code so that it all compiles against current nightly
Ralf Jung [Wed, 26 Jul 2017 18:27:40 +0000 (11:27 -0700)]
disable validation code so that it all compiles against current nightly

6 years agowhitelist some more methods
Ralf Jung [Wed, 26 Jul 2017 18:10:47 +0000 (11:10 -0700)]
whitelist some more methods

7 years agoMerge pull request #273 from RalfJung/ref
Oliver Schneider [Wed, 26 Jul 2017 05:46:39 +0000 (07:46 +0200)]
Merge pull request #273 from RalfJung/ref

Test that &* of a dangling (and even unaligned) ptr is okay

7 years agomove undef-check-on-release-validation out, to catch more cases
Ralf Jung [Wed, 26 Jul 2017 01:15:43 +0000 (18:15 -0700)]
move undef-check-on-release-validation out, to catch more cases

7 years agocheck mutable UnsafeCell; hack for AtomicBool::get_mut
Ralf Jung [Wed, 26 Jul 2017 00:10:05 +0000 (17:10 -0700)]
check mutable UnsafeCell; hack for AtomicBool::get_mut

7 years agomore hacks to make test cases pass
Ralf Jung [Tue, 25 Jul 2017 05:42:05 +0000 (22:42 -0700)]
more hacks to make test cases pass

7 years agoTest that &* of a dangling (and even unaligned) ptr is okay
Ralf Jung [Wed, 26 Jul 2017 00:02:57 +0000 (17:02 -0700)]
Test that &* of a dangling (and even unaligned) ptr is okay

7 years agowhitelist things so that more tests pass
Ralf Jung [Mon, 24 Jul 2017 21:17:58 +0000 (14:17 -0700)]
whitelist things so that more tests pass

7 years agosuspend lvalues, not locks. refactor memory locking.
Ralf Jung [Thu, 20 Jul 2017 02:45:25 +0000 (19:45 -0700)]
suspend lvalues, not locks. refactor memory locking.

Due to this, we are back down to 88 tests

7 years agomake LockInfo non-Copy
Ralf Jung [Tue, 18 Jul 2017 23:43:37 +0000 (16:43 -0700)]
make LockInfo non-Copy

7 years agofix checks when releasing write locks (101)
Ralf Jung [Fri, 14 Jul 2017 18:06:29 +0000 (11:06 -0700)]
fix checks when releasing write locks (101)

7 years agowe don't have to set the frame on every step
Ralf Jung [Fri, 14 Jul 2017 17:15:55 +0000 (10:15 -0700)]
we don't have to set the frame on every step

7 years agohandle type of function definitions (98)
Ralf Jung [Fri, 14 Jul 2017 16:05:10 +0000 (09:05 -0700)]
handle type of function definitions (98)

7 years agowe need to normalize associated types also deep in the hierarchy (89)
Ralf Jung [Fri, 14 Jul 2017 06:42:18 +0000 (23:42 -0700)]
we need to normalize associated types also deep in the hierarchy (89)

7 years agoHandle trait objects. Only very superficial checking of the vtable for now. (88)
Ralf Jung [Fri, 14 Jul 2017 06:34:08 +0000 (23:34 -0700)]
Handle trait objects.  Only very superficial checking of the vtable for now. (88)

7 years agonits. also, rustc now emits released for drop. (72)
Ralf Jung [Fri, 14 Jul 2017 06:02:51 +0000 (23:02 -0700)]
nits. also, rustc now emits released for drop. (72)

7 years agoexempt UnsafeCell from checks (69)
Ralf Jung [Fri, 14 Jul 2017 05:00:11 +0000 (22:00 -0700)]
exempt UnsafeCell from checks (69)

7 years agomove validation to its own file
Ralf Jung [Fri, 14 Jul 2017 04:57:13 +0000 (21:57 -0700)]
move validation to its own file