Dan Luu
69f6ac5d31
Fix debug! usage in tutorial
2013-04-19 19:17:34 -04:00
bors
6510fd9254
auto merge of #5960 : brson/rust/io, r=pcwalton
...
r?
This pull request is a grab bag of work on the new scheduler.
The most important commit here is where I [outline](https://github.com/brson/rust/blob/io/src/libcore/rt/io/mod.rs ) a fairly complete I/O API, based on `Reader` and `Writer` types, as in the current `core::io` module. I've organized this version into a number of modules with declarations for Files, TCP, UDP, Unix sockets, blocking/non-blocking implementations, memory buffers, compression adapters. I'm trying to get this into shape to present on the mailing list.
This branch also wires up `spawn` to the new scheduler, and simplifies the core scheduler operations.
2013-04-19 15:57:50 -07:00
Patrick Walton
dcea717208
librustc: Fix botched merge. rs=merge
2013-04-19 15:57:31 -07:00
Brian Anderson
e47ee779cd
wip
2013-04-19 15:18:38 -07:00
Brian Anderson
7270fadfcc
core::rt: Rename Closeable to Close, Seekable to Seek, blocking to native
2013-04-19 14:58:21 -07:00
bors
bffe23b0cf
auto merge of #5961 : brson/rust/valgrind, r=brson
...
I can't reproduce the one on the bots, but this might fix it
2013-04-19 14:18:48 -07:00
Brian Anderson
69eb218ffc
Try to suppress valgrind errors
...
I can't reproduce the one on the bots, but this might fix it
2013-04-19 14:14:07 -07:00
Brian Anderson
e782e1f371
Tidy
2013-04-19 12:05:19 -07:00
Brian Anderson
b57611d10c
core::rt: Simplify some scheduler operations
2013-04-19 12:05:19 -07:00
Brian Anderson
eddd817bf0
core::rt: Add another context switching operation to the scheduler
...
`switch_running_tasks_and_then` does a context switch to another
task then immediatly runs a closure.
2013-04-19 12:05:18 -07:00
Brian Anderson
d261bb32d9
core: More tweaks to the thread-local scheduler interface
2013-04-19 12:05:18 -07:00
Brian Anderson
15ece0c23e
core: Wire up spawn
to the new scheduler
...
It will check which scheduler it is running under and create the
correct type of task as appropriate. Most options aren't supported
but basic spawning works.
2013-04-19 12:05:18 -07:00
Brian Anderson
6773b63671
core: Don't use managed boxes in TaskBuilder
2013-04-19 12:05:18 -07:00
Brian Anderson
b96765179e
core: Add rt::context for figuring out what runtime services are available
...
Conflicts:
src/libcore/rt/sched/mod.rs
2013-04-19 12:05:18 -07:00
Brian Anderson
c44d7a6486
core::rt: Declare large parts of the I/O API
2013-04-19 12:05:18 -07:00
bors
7d250d3181
auto merge of #5824 : bleibig/rust/debuginfo, r=brson
...
This adds debugging symbol generation for boxes, bare functions, vectors, and strings, along with a tests for boxes and vectors.
Note that gdb will see them as their actual compiled representation with the refcount, tydesc, etc. fields, so if `b` refers to box, `b->boxed` will refer to its value. Also, since you seem to use the [C struct hack](http://c-faq.com/struct/structhack.html ) for dynamic vectors, you won't be able to print out the whole vector at once, only one element at a time by indexing specific elements.
2013-04-19 12:03:49 -07:00
Patrick Walton
f93b3cd5c3
librustc: Remove debug code; xfail-pretty reverse-complement.
2013-04-19 12:00:48 -07:00
Patrick Walton
af4ea11d09
test: Rewrite mandelbrot benchmark.
2013-04-19 12:00:48 -07:00
Patrick Walton
9902e798d5
rt: Remove dump_stacks
2013-04-19 12:00:08 -07:00
Patrick Walton
c995a62d44
librustc: WIP patch for using the return value.
2013-04-19 12:00:08 -07:00
Patrick Walton
7720c15ae1
test: Implement pidigits and reverse-complement
2013-04-19 11:56:54 -07:00
Patrick Walton
bc0dd7f108
Move shootout-k-nucleotide to bench
2013-04-19 11:56:53 -07:00
Patrick Walton
1d3231362c
test: Add k-nucleotide
2013-04-19 11:56:53 -07:00
Patrick Walton
10aa1c3c05
test: Add fannkuch-redux and fasta-redux shootout benchmarks
2013-04-19 11:56:52 -07:00
Patrick Walton
9738c2a45c
test: Rewrite nbody and spectralnorm shootout benchmarks
2013-04-19 11:56:52 -07:00
Patrick Walton
90b65c8839
llvm: Fixes for RustWrapper.
2013-04-19 11:53:34 -07:00
Patrick Walton
0b0ca597bf
librustc: Improve inlining behavior.
2013-04-19 11:53:34 -07:00
Patrick Walton
ca8e99fd78
rt: Fix scalability problem with big stacks on 32 bit
2013-04-19 11:53:34 -07:00
Patrick Walton
2dbe20a561
libstd: Micro-optimize vuint_at
2013-04-19 11:53:34 -07:00
Patrick Walton
4c29b4cb93
librustc: Optimize metadata::decoder::item_name.
2013-04-19 11:53:33 -07:00
Patrick Walton
53f54dda60
librustc: Remove def_ids from types.
2013-04-19 11:53:33 -07:00
Patrick Walton
04df19c5ca
librustc: Take primitive types out of the type hash table.
2013-04-19 11:53:33 -07:00
Patrick Walton
3ffaaab9e9
librustc: Switch the @
s in types with ~
2013-04-19 11:53:32 -07:00
Patrick Walton
af42d37547
rustllvm: Fix RustWrapper.cpp
2013-04-19 11:53:32 -07:00
Patrick Walton
f903ae9e72
librustc: Implement fast-ffi and use it in various places
2013-04-19 11:53:31 -07:00
Patrick Walton
1a36b0f17e
librustc: Remove fail_unless!
2013-04-19 11:53:31 -07:00
bors
10e6869a54
auto merge of #5955 : thestinger/rust/iterator, r=graydon
2013-04-19 09:48:50 -07:00
Daniel Micay
a2e5350284
iterator: add a bit of documentation
2013-04-19 12:42:59 -04:00
Daniel Micay
1d81b7b286
iterator: add a chain adaptor
2013-04-19 11:50:50 -04:00
Huon Wilson
90313b789c
libcore: add an UnfoldrIterator like Haskell's unfoldr
2013-04-19 10:37:15 -04:00
Daniel Micay
d7a2ae6c42
re-organize the iterator module a bit
2013-04-19 09:18:22 -04:00
Daniel Micay
ae1c9ebf3c
move iterator adaptor tests to iterator module
2013-04-19 09:01:40 -04:00
bors
465666d5c8
auto merge of #5957 : huonw/rust/core-char-at-doc, r=thestinger
...
The documentation was unclear/wrong: it implies the functions operated on unicode char indices, but they actually operate on byte indices. Also, the `char_at_reverse` documentation was unclear whether it counted from the beginning or the end (causing #5956 ).
2013-04-19 05:45:51 -07:00
Huon Wilson
8ae6b33ed0
libcore: clarify documentation for char_at(_reverse)
2013-04-19 22:30:49 +10:00
Daniel Micay
962a753890
takewhile -> take_while, dropwhile -> skip_while
2013-04-19 07:28:51 -04:00
Daniel Micay
0f85cf180a
iterator: add skip and take
2013-04-19 07:22:20 -04:00
bors
d3a58f3797
auto merge of #5943 : brson/rust/struct-return, r=graydon
...
Mac appears to follow the same ABI as MSVC. This fixes one case
but leaves others broken, like windows.
2013-04-18 19:45:48 -07:00
bors
9618e5b459
auto merge of #5938 : thestinger/rust/iterator, r=pcwalton
2013-04-18 18:51:49 -07:00
bors
225d74f211
auto merge of #5914 : catamorphism/rust/copy-cops, r=catamorphism
2013-04-18 17:51:51 -07:00
Tim Chevalier
3d43af15d8
rustc: Anti-copy police
...
In this case, some copies are still necessary to convert from
a mutable to an immutable @-box. It's still an improvement,
I hope.
2013-04-18 17:40:42 -07:00