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
bors
df9cc2eb66
auto merge of #5924 : catamorphism/rust/non-fatal-errors, r=catamorphism
2013-04-18 16:57:51 -07:00
bors
50cd218c1e
auto merge of #5920 : catamorphism/rust/rustpkg, r=catamorphism
...
r? @graydon
2013-04-18 16:06:52 -07:00
Tim Chevalier
1aebf30f72
Tidy
2013-04-18 15:24:25 -07:00
Tim Chevalier
62847b0f24
rustc: Make some typechecker errors non-fatal
2013-04-18 15:12:27 -07:00
Brian Leibig
d2718e6324
xfail box and vec debug info tests
2013-04-18 18:05:33 -04:00
Tim Chevalier
18db9a2954
rustc: One less copy
2013-04-18 14:50:29 -07:00
Graydon Hoare
5a3d26f271
core: replace unicode match exprs with bsearch in const arrays, minor perf win.
2013-04-18 14:39:40 -07:00
Graydon Hoare
14b7277c4f
core: add vec::bsearch.
2013-04-18 14:39:40 -07:00
bors
b19c644d54
auto merge of #5921 : brson/rust/pipes, r=brson
...
This builds on #5909 . I've been combing through the pipes code to understand it and started refactoring a bit.
* Removes pipes::spawn_* functions. These are not particularly useful since they deal with low-level pipes types.
* Inlines the protocol-compiled definitions of `oneshot` and `streamp`. These are the only two uses of the protocol compiler in core and I'm inlining them so I can understand what they are doing as I work on pipes. I may un-inline them in the future.
* Removes redundant functions from core::comm
* Change the constructors to use the `new` convention
2013-04-18 14:36:53 -07:00