Commit Graph

745 Commits

Author SHA1 Message Date
Oliver Schneider bfe1efcbf8 stop leaking memory on closure calls 2016-12-06 18:13:11 +01:00
Oliver Schneider 360ef490f4 supply a real "caller" span to drop calls 2016-12-06 16:16:22 +01:00
Oliver Schneider c303ac001d rustup 2016-12-06 15:41:28 +01:00
Scott Olson b96202b3cd Update for changes in rustc. 2016-12-02 19:44:59 -08:00
Scott Olson 244ae8eac7 Introduce try_read_value to avoid allocations.
Attempt reading a primitive value out of any source lvalue and write
that into the destination without making an allocation if possible.
2016-11-28 20:22:21 -08:00
Scott Olson 140b21e09c Merge pull request #89 from solson/unkind-primval
Remove PrimValKind field from PrimVal.
2016-11-27 19:09:39 -08:00
Scott Olson e4910e437b Remove useless map. 2016-11-27 19:08:06 -08:00
Scott Olson 71cc1226c7 s/init/zero/ 2016-11-27 13:46:34 -08:00
Scott Olson fd02285788 Remove unnecessary transmute_primval function. 2016-11-26 23:42:17 -08:00
Scott Olson 0929201d60 Remove useless binding. 2016-11-26 23:37:40 -08:00
Scott Olson f7cd07a615 Produce PrimValKinds for small, simple layout ADTs. 2016-11-26 23:21:25 -08:00
Scott Olson fc3e1c0064 compiletest: Don't automatically enable MIRI_LOG=trace. 2016-11-26 23:21:25 -08:00
Scott Olson 49f784a3e4 Remove PrimValKind field from PrimVal. 2016-11-26 23:21:20 -08:00
Scott Olson 16f3b590e4 Remove unnecessary qualification. 2016-11-26 19:18:39 -08:00
Scott Olson 78b29b360a Dump return value when returning. 2016-11-26 19:13:22 -08:00
Scott Olson 020f0b782b Refactor passing of resource limits. 2016-11-26 17:54:19 -08:00
Scott Olson 3f764a5cfd Update for changes in rustc and refactor. 2016-11-26 17:36:31 -08:00
Scott Olson 16fa75c6cf Merge pull request #88 from oli-obk/patch-1
don't freeze globals twice
2016-11-19 00:10:36 -08:00
Scott Olson 85801fa2b0 Merge pull request #87 from oli-obk/no_u_size_is_wong
replace most uses of `usize` with `u64`
2016-11-19 00:10:02 -08:00
Oliver Schneider ca7ae5a3d0 don't freeze globals twice 2016-11-19 08:33:13 +01:00
Scott Olson 0b632d553e Merge pull request #86 from oli-obk/fast_repeat
abort on huge repeat expressions
2016-11-18 22:58:59 -08:00
Scott Olson 3973b9961e Merge pull request #85 from oli-obk/storage_dead
deallocate all locals on function exit and transitively freeze constants through pointers
2016-11-18 22:43:18 -08:00
Oliver Schneider 0039ebc940 replace most uses of usize with u64 so the host architecture isn't exposed anymore 2016-11-18 12:55:14 +01:00
Oliver Schneider e361b63fa0 remove a TODO that has been fixed in the previous commit 2016-11-18 10:39:00 +01:00
Oliver Schneider 986b3a07c2 layout computation can fail, make it fail with a miri error 2016-11-18 10:38:07 +01:00
Oliver Schneider 26ccc1e4bc add a step counter that can be changed during interpretation 2016-11-18 10:38:07 +01:00
Oliver Schneider b10c53031a fix benchmarks and add benchmarks for repeat expressions 2016-11-18 10:38:07 +01:00
Oliver Schneider fd6a90860c simplify dumping of pointers to the zst or never alloc 2016-11-18 10:36:01 +01:00
Oliver Schneider 11a0594a1d address comments 2016-11-18 10:35:41 +01:00
Oliver Schneider 51ff9fdaf6 deallocate all locals on function exit and transitively freeze constants through pointers 2016-11-18 10:05:55 +01:00
Scott Olson f7cb9a09e4 Merge pull request #84 from oli-obk/master
rustup
2016-11-17 10:40:26 -08:00
Oliver Schneider 4ebf7bfea6 rustup allows one to install the rust source, that's obviously not a target 2016-11-17 11:31:53 +01:00
Oliver Schneider a5aafbdfbf rustup 2016-11-17 11:31:28 +01:00
Scott Olson 9322dec830 Merge pull request #81 from oli-obk/master
ensure that integers cast to pointers will never point at a valid alloc, not even the zst alloc
2016-11-16 20:06:24 -08:00
Oliver Schneider fd68670c0a merge closures and function and implement some closure vtable cases 2016-11-15 17:19:37 +01:00
Oliver Schneider 64155ffd10 implement fn item -> trait object conversion 2016-11-15 16:32:21 +01:00
Oliver Schneider 1c5c6cd078 allow zsts in the zero case of a nullable pointer optimized enum 2016-11-15 16:15:17 +01:00
Oliver Schneider 5ee75c0805 don't print in the binop tests 2016-11-15 15:24:22 +01:00
Oliver Schneider 4748587a77 fix creation of simd types 2016-11-15 15:23:19 +01:00
Oliver Schneider 1549c2d51e erase all lifetimes from function types before creating pointers to them 2016-11-15 15:20:10 +01:00
Oliver Schneider e2091ff934 add more atomic intrinsics 2016-11-15 15:19:38 +01:00
Oliver Schneider f77a0ab10b fix writing int->ptr transmuted primvals to memory 2016-11-15 15:18:49 +01:00
Oliver Schneider 13f22f8344 print traces only when not running on the rust run-pass test suite (since tracing is slow) 2016-11-15 14:33:07 +01:00
Oliver Schneider 14ff6411f0 make sure ByVal pointers act just like ByRef to a pointer 2016-11-15 14:12:49 +01:00
Oliver Schneider 4a39c228df minor fixes
the FIXME was wrong here, there's no need for any special offsetting
2016-11-15 14:11:44 +01:00
Oliver Schneider 511fa40d23 add test for int -> fn ptr cast 2016-11-15 14:11:00 +01:00
Oliver 'ker' Schneider 2c34d6558c also address TyStr in the null pointer optimization 2016-11-13 21:56:57 +01:00
Oliver 'ker' Schneider f71c31c0e8 cannot index into non-fat-pointers 2016-11-13 21:30:03 +01:00
Oliver 'ker' Schneider 75f56eb144 fix field indexing into fat pointers 2016-11-13 19:26:20 +01:00
Oliver 'ker' Schneider d42a7d021d fix null optimizations for smaller than pointer enums
fixes #76
2016-11-11 13:10:47 +01:00