Commit Graph

709 Commits

Author SHA1 Message Date
David Renshaw e79ee140ee write_bytes(): fix handling of types that are larger than u128 2017-03-13 20:32:43 -04:00
David Renshaw 2f3440d213 implement write_bytes intrinsic 2017-03-13 19:46:44 -04:00
Oliver Schneider de42764b52 drop zst fields of null pointer optimized structs and enums
fixes #25
2017-02-24 11:04:13 +01:00
Oliver Schneider 1a697f9bba move all code accessing vtable internals into the trait module
fixes #124
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
Scott Olson 1af2c397bf Merge pull request #141 from oli-obk/bug1
fix a bug in drop code of structs with unsized fields
2017-02-23 18:06:12 -08:00
Oliver Schneider 545f70010c rustup 2017-02-14 17:19:43 +01:00
Oliver Schneider 4730cdf825 fix a bug in drop code of structs with unsized fields 2017-02-14 14:26:47 +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 eeae478e74 Remove stable feature flag. 2017-02-10 15:13:50 -08:00
Scott Olson b755a91c21 Do drop glue for closures. 2017-02-10 14:54:14 -08:00
Scott Olson f73f001ce5 Fix fabsf{32,64} intrinsics. 2017-02-10 14:53:56 -08: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
Scott Olson 98d28b688c Merge pull request #139 from oli-obk/master
lvalue references into fields of ValPair locals
2017-02-10 22:29:54 +01: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
Scott Olson 55bfbf58a2 Resolve Drop impls to get the right substs.
Fixes #133.
2017-02-10 07:55:05 -08:00
Oliver Schneider 1e7481f96e remove a hack that is now useless 2017-02-10 16:26:59 +01:00
Oliver Schneider 0b86d30594 enable Lvalue::Local to refer to a ValPair field 2017-02-10 16:14:59 +01:00
Scott Olson 7f0b9460cb Merge pull request #138 from oli-obk/master
refactor lvalue field projection handling to prepare for fewer `force_allocation`s
2017-02-10 15:27:36 +01:00
Scott Olson 5a2cdc2689 Implement the fast float math intrinsics. 2017-02-10 05:58:34 -08:00
Oliver Schneider 31f3aabdd4 move some variables closer to their use site. 2017-02-10 14:50:24 +01:00
Oliver Schneider 2e185485b3 use the lvalue_field function more often to save needless force_allocations 2017-02-10 14:34:10 +01:00
Oliver Schneider 12826fb8a3 factor out lvalue field access into its own function 2017-02-10 14:34:10 +01:00
Oliver Schneider 680e649805 get rid of useless calls into eval_lvalue 2017-02-10 14:34:10 +01:00
Oliver Schneider 07e1e7b7e5 move base computation into each projection to allow optimizations and corner cases 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 459f898b91 Reformatting. 2017-02-10 03:28:17 -08:00
Scott Olson 68daab974d Move relevant code into "traits" module. 2017-02-10 03:23:04 -08:00
Scott Olson d8d813c4ad Resolve associated constants.
Fixes #130.
2017-02-10 03:22:59 -08:00
Scott Olson 9e24893879 Rename "vtable" mod to "traits". 2017-02-10 03:07:28 -08:00
Oliver Schneider 333264c956 clarify comment on drop glue 2017-02-10 08:13:18 +01:00
Oliver Schneider e58f750a49 refactor drop glue 2017-02-09 19:27:07 +01:00
Oliver Schneider 023ec3e395 add some comments for clarification 2017-02-09 19:15:40 +01:00
Oliver Schneider c06251b0d2 double space 2017-02-09 19:08:24 +01:00
Oliver Schneider d92085fd0e properly extract the inner type in a drop impl 2017-02-09 19:08:08 +01:00
Oliver Schneider 06a02187ba move drop code into its own file 2017-02-09 18:12:59 +01:00
Scott Olson 6e9e7af8e7 Fix comment. 2017-02-09 06:58:20 -08:00
Scott Olson 3b95bf93b1 Merge pull request #132 from oli-obk/master
we cannot panic, thus `panicking` always returns false
2017-02-09 15:37:23 +01:00
Scott Olson 14d7501ca4 Merge pull request #128 from oli-obk/align_thyself
fix size of dst in size_of_val intrinsic
2017-02-09 15:35:15 +01:00
Oliver Schneider 0f183dc866 we cannot panic, thus panicking always returns false 2017-02-09 15:07:50 +01:00
Oliver Schneider e6006c35fb don't unnecessarily convert Align -> u64 -> Align 2017-02-09 13:00:30 +01:00
Oliver Schneider 0d3cee2db3 fix size of dst in size_of_val intrinsic 2017-02-09 11:15:56 +01:00
Scott Olson bc5d9b6f8d Merge pull request #127 from oli-obk/print_panic
ignore `print!`, turn `panic!` into a EvalError
2017-02-09 11:14:47 +01:00