Commit Graph

9 Commits

Author SHA1 Message Date
Alex Crichton
c3a5d6b130 std: Minimize size of panicking on wasm
This commit applies a few code size optimizations for the wasm target to
the standard library, namely around panics. We notably know that in most
configurations it's impossible for us to print anything in
wasm32-unknown-unknown so we can skip larger portions of panicking that
are otherwise simply informative. This allows us to get quite a nice
size reduction.

Finally we can also tweak where the allocation happens for the
`Box<Any>` that we panic with. By only allocating once unwinding starts
we can reduce the size of a panicking wasm module from 44k to 350 bytes.
2018-04-13 07:03:00 -07:00
Alex Crichton
1ccb50eaa6 std: Change how EBADF is handled in sys
This commit removes the reexport of `EBADF_ERR` as a constant from
libstd's portability facade, instead opting for a platform-specific
function that specifically queries an `io::Error`. Not all platforms may
have a constant for this, so it makes the intent a little more clear
that a code need not be supplied, just an answer to a query.
2017-11-08 20:41:17 -08:00
Steven Fackler
ecbb896b9e Add Read::initializer.
This is an API that allows types to indicate that they can be passed
buffers of uninitialized memory which can improve performance.
2017-06-20 20:26:22 -07:00
Jeremy Soller
e68393397a Commit to fix make tidy 2016-11-28 21:07:26 -07:00
Jeremy Soller
1d0bba8224 Move stdout/err flush into sys 2016-11-28 18:25:47 -07:00
Jeremy Soller
746222fd9d Switch to using syscall crate directly - without import 2016-11-28 18:07:19 -07:00
Jeremy Soller
a90850995f Fixes for stdio and processes on Redox 2016-11-10 19:33:59 -07:00
Jeremy Soller
01e8378070 Update to new sys requirements 2016-11-03 08:58:01 -06:00
Jeremy Soller
8b09e01fef Add redox system 2016-10-27 20:57:49 -06:00