Commit Graph

86 Commits

Author SHA1 Message Date
Ralf Jung db6ce463fe fix some nits 2017-06-01 11:01:55 -07:00
Ralf Jung e6eaf2083a interpret StorageLive & StorageDead, and check dead stack slots are not used 2017-05-31 17:41:33 -07:00
Ralf Jung 2b37d500f1 simplify determining size and alignment of a pointer 2017-05-30 17:03:45 -07:00
Ralf Jung b44babf230 allocate return pointer only when we start the program via the start lang item 2017-05-30 15:40:26 -07:00
Ralf Jung 24a9a14dfa fix various small nits 2017-05-30 10:41:38 -07:00
Ralf Jung cd6e3e6431 If a "start" lang item incl. MIR is present, run that instead of running main directly
This fixes the memory leaks when running a simple "Hello World" with MIR-libstd
2017-05-30 10:41:38 -07:00
David Renshaw c384f9568d Rvalue::Box -> Rvalue::NullaryOp 2017-05-30 09:27:08 -04:00
David Renshaw 48662d5199 update for upstream changes with ty::ParamEnv 2017-05-23 23:40:39 -04:00
David Renshaw 2b84e176fb update for new boxier mir 2017-05-13 07:09:57 -04:00
Oliver Schneider da3860a293 Address things complained about by clippy 2017-05-05 10:34:38 +02:00
Oliver Schneider 07229d6305 Rustup to rustc 1.19.0-nightly (2d4ed8e0c 2017-05-03) 2017-05-04 17:42:43 +02:00
Oliver Schneider 488fc53db9 Update to the latest rustc version 2017-04-27 13:48:47 +02:00
Oliver Schneider 538c271e05 Address clippy lints 2017-04-26 12:15:42 +02:00
Oliver Schneider 76768479b5 Update for latest rustc changes 2017-04-25 16:51:58 +02:00
David Renshaw d666bd7e62 update for latest rustc nightly: type_needs_drop_given_env() and type_contents() are gone 2017-04-23 13:45:04 -04:00
Eduard-Mihai Burtescu cb3799b44b Update for changes in LocalDecl on nightly. 2017-04-21 13:27:09 +03:00
Oliver Schneider 065e9593b4 Rustup to rustc 1.17.0-nightly (7846dbe0c 2017-03-26) 2017-03-27 10:13:21 +02:00
Oliver Schneider cb867d250a Fix casting generic functions to concrete function pointers 2017-03-23 17:57:40 +01:00
Oliver Schneider eecc727e87 Reduce noisyness 2017-03-23 15:52:02 +01:00
Oliver Schneider 9e4e6cdb5c Dropping arrays works again 2017-03-22 17:32:20 +01:00
Oliver Schneider 7c12ebc78d Roll our own MIR for dropping arrays. 2017-03-22 16:16:23 +01:00
Oliver Schneider 26c3335dbf Closures work again 2017-03-22 13:13:52 +01:00
Oliver Schneider dc1b0fb436 Compiles again 2017-03-21 13:53:55 +01:00
Scott Olson 0ca0676abd Merge pull request #146 from oli-obk/peephole1
[Peephole Optimization 1/n] Don't allocate for structs with a single primval field
2017-03-14 09:57:02 -07:00
Oliver Schneider adb3fbb285 Add a method that hides the lifetime erasing boilerplate 2017-03-14 11:12:59 +01:00
Oliver Schneider 8405770b51 Rustup to rustc 1.17.0-nightly (be760566c 2017-02-28) 2017-03-02 13:11:33 +01:00
Oliver Schneider 8878a4030a rustup to rustc 1.17.0-nightly (60a0edc6c 2017-02-26) 2017-02-28 12:35:00 +01:00
Oliver Schneider 2282e6b582 represent single field structs as their single field 2017-02-24 11:04:13 +01:00
Oliver Schneider 51f209a61f write_primval used to leak memory if the destination was ByRef
instead of duplicating all the code from `write_value`, we forward to it.
2017-02-24 10:41:15 +01:00
Oliver Schneider 529efc51e8 detect memory leaks 2017-02-24 10:41:15 +01:00
Oliver Schneider 25c3a4fb00 drop all temporary closure allocations 2017-02-24 10:41:15 +01:00
Oliver Schneider 35502fd47d rustup 2017-02-24 10:39:55 +01:00
Oliver Schneider d4da7c46dd rustup 2017-02-14 10:19:19 +01:00
Oliver Schneider ac71d6f345 don't duplicate field access logic, always go through lvalue_field 2017-02-14 10:19:19 +01:00
Oliver Schneider a727ceb7e9 fast path for zsts 2017-02-14 10:19:18 +01:00
Scott Olson 0f714b72a0 Formatting. 2017-02-10 13:35:45 -08:00
Scott Olson 6ffd7005c1 Cache string and bytestring literal allocs. 2017-02-10 13:35:33 -08:00
Oliver Schneider 35cf19f38a only print the index part 2017-02-10 22:15:30 +01:00
Oliver Schneider 523c1877d9 print local fields as _2.1 instead of _2 (field 1) 2017-02-10 21:59:29 +01:00
Oliver Schneider 0b86d30594 enable Lvalue::Local to refer to a ValPair field 2017-02-10 16:14:59 +01:00
Oliver Schneider 680e649805 get rid of useless calls into eval_lvalue 2017-02-10 14:34:10 +01:00
Scott Olson d971a63c4b Mark more errors as unsupported. 2017-02-10 05:27:02 -08:00
Scott Olson d8d813c4ad Resolve associated constants.
Fixes #130.
2017-02-10 03:22:59 -08:00
Oliver Schneider 080d3e4355 properly prevent recursive statics from marking each other 2017-02-08 16:27:28 +01:00
Oliver Schneider 3db6ec3f11 prevent more deallocations of statics 2017-02-08 15:32:49 +01:00
Oliver Schneider 98cda6cb07 freeze -> static 2017-02-07 20:28:54 +01:00
Oliver Schneider fd3bbfde04 Merge remote-tracking branch 'origin/master' 2017-02-07 19:22:44 +01:00
Oliver Schneider 01ac19d358 fix static mut accidental dealloc or freeze 2017-02-07 19:20:16 +01:00
Scott Olson 9a7f76889a Update for changes in rustc. 2017-02-07 06:01:03 -08:00
Oliver Schneider 45df853da7 cleanup buggy closure dispatch code 2017-02-07 14:22:20 +01:00