Michael Sullivan
dc9b3e37e2
Rangechange the log message truncation limit.
2013-08-19 09:35:51 -07:00
Niko Matsakis
0479d946c8
Add externfn macro and correctly label fixed_stack_segments
2013-08-19 07:13:15 -04:00
Steven Fackler
b66cdb16fe
Delete std::rt::io::net::http
...
It's an empty stub and as one of the comments notes, doesn't belong in
libstd.
2013-08-18 20:32:35 -04:00
bors
b26e11db86
auto merge of #8560 : kballard/rust/reserve-yield, r=pcwalton
...
Rename task::yield() to task::deschedule().
Fixes #8494 .
2013-08-18 15:02:04 -07:00
bors
3bc6858428
auto merge of #8551 : huonw/rust/speling, r=alexcrichton
...
(This doesn't add/remove `u`s or change `ize` to `ise`, or anything like that.)
2013-08-18 05:11:58 -07:00
Huon Wilson
6440343a6c
More spelling corrections.
2013-08-18 08:28:04 +10:00
toddaaro
20213fcca4
A round of code cleaning for the primary scheduler code. Comments have been updated, a minor amount of support type restructing has happened, methods have been reordered, and some duplicate code has been purged.
2013-08-16 16:37:59 -07:00
toddaaro
f83835b0e7
Moved the logic for a pausible idle callback into a new type - PausibleIdleCallback and placed the appropriate signatures in rtio and implementation into uvio.
2013-08-16 16:37:09 -07:00
Brian Anderson
88d8baa76b
std::rt: Fix a race in UvRemoteCallback's dtor that misses callbacks
...
Full description in comments.
2013-08-16 16:37:09 -07:00
Brian Anderson
bd382ee643
std::rt: Touch up idle logic
2013-08-16 16:37:09 -07:00
toddaaro
066ca17eaa
an attempt at a singleton pausible idle callback for each scheduler. suffers from nondeterministic deadlock and also pending scheduler messages on scheduler shutdown.
2013-08-16 16:37:09 -07:00
Kevin Ballard
418e1ebae6
Reserve 'yield' keyword
...
Rename task::yield() to task::deschedule().
Fixes #8494 .
2013-08-16 13:26:50 -07:00
Huon Wilson
72fd02d939
doc: convert remaining uses of core:: to std::.
2013-08-16 15:54:14 +10:00
Huon Wilson
abe94f9b4d
doc: correct spelling in documentation.
2013-08-16 15:41:28 +10:00
Kevin Ballard
03ef71e262
Add ToCStr method .with_c_str()
...
.with_c_str() is a replacement for the old .as_c_str(), to avoid
unnecessary boilerplate.
Replace all usages of .to_c_str().with_ref() with .with_c_str().
2013-08-15 01:33:10 -07:00
bors
9f379329db
auto merge of #8475 : kmcallister/rust/stack_segment, r=brson,brson
...
Servo needs to tell SpiderMonkey about the stack bounds.
r? @brson
2013-08-13 14:57:24 -07:00
Keegan McAllister
4fd5318594
Make rt::stack public
...
Fixes #8478 .
2013-08-13 09:10:07 -07:00
bors
0d817ee869
auto merge of #8423 : alexcrichton/rust/less-priv-again, r=bstrie
...
Closes #5495
2013-08-13 07:26:23 -07:00
bors
f02cc6bf0a
auto merge of #8411 : bblum/rust/assorted-fixes, r=brson
...
Each commit is pretty much what it says on the tin. r anybody.
2013-08-13 04:59:20 -07:00
Alex Crichton
930885d5e5
Forbid pub/priv where it has no effect
...
Closes #5495
2013-08-12 23:20:46 -07:00
Brian Anderson
95badabaaf
std: Re-optimize tls access on local allocation path
...
I did this once but acciddentally undid it in a later patch.
2013-08-12 22:30:32 -07:00
Keegan McAllister
2145de8c8f
rt::task: Make current_stack_segment public
...
Servo needs to tell SpiderMonkey about the stack bounds.
2013-08-12 13:54:40 -07:00
Ben Blum
5ac8c57bd4
Clean up transitionary glue in task/spawn.rs. Don't hold kill-little-lock for O(n) time, cf #3100 , and optimize out several unneeded clone()s.
2013-08-12 15:20:02 -04:00
Ben Blum
ce48e71d28
Fix select() in light of the deschedule...and then race. Close #8347 .
2013-08-12 13:54:21 -04:00
Ben Blum
c8c09d40fc
Reorganise Select traits to not expose internal runtime types. Close #5160 . Pending #8215 .
2013-08-12 13:54:21 -04:00
Erick Tryzelaar
68f40d215e
std: Rename Iterator.transform -> .map
...
cc #5898
2013-08-10 07:33:21 -07:00
Erick Tryzelaar
4062b84f4a
std: merge Iterator and IteratorUtil
2013-08-10 07:02:17 -07:00
Erick Tryzelaar
fad7857c7b
Mass rename of .consume{,_iter}() to .move_iter()
...
cc #7887
2013-08-10 07:01:07 -07:00
bors
60f5011005
auto merge of #8296 : erickt/rust/remove-str-trailing-nulls, r=erickt
...
This PR fixes #7235 and #3371 , which removes trailing nulls from `str` types. Instead, it replaces the creation of c strings with a new type, `std::c_str::CString`, which wraps a malloced byte array, and respects:
* No interior nulls
* Ends with a trailing null
2013-08-09 21:56:17 -07:00
Erick Tryzelaar
ee59aacac4
Merge remote-tracking branch 'remotes/origin/master' into remove-str-trailing-nulls
2013-08-09 18:48:01 -07:00
bors
e81e81f234
auto merge of #8387 : brson/rust/nooldrt, r=brson
2013-08-09 18:41:13 -07:00
Brian Anderson
b75915d0ca
Remove the C++ runtime. Sayonara
2013-08-09 16:45:50 -07:00
bors
1de201c3c6
auto merge of #8415 : brson/rust/newrt-local-heap-perf, r=pcwalton,brson
...
Mostly optimizing TLS accesses to bring local heap allocation performance
closer to that of oldsched. It's not completely at parity but removing the
branches involved in supporting oldsched and optimizing pthread_get/setspecific
to instead use our dedicated TCB slot will probably make up for it.
2013-08-09 13:53:08 -07:00
Stepan Koltsov
ae81151ad6
Fix Ipv6Addr to_str for ::1:x.x.x.x addresses
...
Reported by luqmana@
2013-08-09 13:53:28 +04:00
Brian Anderson
d392556160
std: Fix perf of local allocations in newsched
...
Mostly optimizing TLS accesses to bring local heap allocation performance
closer to that of oldsched. It's not completely at parity but removing the
branches involved in supporting oldsched and optimizing pthread_get/setspecific
to instead use our dedicated TCB slot will probably make up for it.
2013-08-09 01:15:31 -07:00
Erick Tryzelaar
56730c094c
Merge remote-tracking branch 'remotes/origin/master' into remove-str-trailing-nulls
2013-08-08 19:27:03 -07:00
bors
7a1b61d631
auto merge of #8336 : stepancheg/rust/socket-addr-from-str, r=brson
...
FromStr implemented from scratch.
It is overengineered a bit, however.
Old implementation handles errors by fail!()-ing. And it has bugs, like it accepts `127.0.0.1::127.0.0.1` as IPv6 address, and does not handle all ipv4-in-ipv6 schemes. So I decided to implement parser from scratch.
2013-08-08 19:08:02 -07:00
bors
936f70bd87
auto merge of #8356 : toddaaro/rust/ws, r=brson
...
This pull request converts the scheduler from a naive shared queue scheduler to a naive workstealing scheduler. The deque is still a queue inside a lock, but there is still a substantial performance gain. Fiddling with the messaging benchmark I got a ~10x speedup and observed massively reduced memory usage.
There are still *many* locations for optimization, but based on my experience so far it is a clear performance win as it is now.
2013-08-08 16:32:02 -07:00
bors
8f65dbfcfa
auto merge of #8385 : cmr/rust/big-rollup, r=alexcrichton
...
This is a fairly large rollup, but I've tested everything locally, and none of
it should be platform-specific.
r=alexcrichton (bdfdbdd )
r=brson (d803c18 )
r=alexcrichton (a5041d0 )
r=bstrie (317412a )
r=alexcrichton (135c85e )
r=thestinger (8805baa )
r=pcwalton (0661178 )
r=cmr (9397fe0 )
r=cmr (caa4135 )
r=cmr (6a21d93 )
r=cmr (4dc3379 )
r=cmr (0aa5154 )
r=cmr (18be261 )
r=thestinger (f10be03 )
2013-08-08 14:32:02 -07:00
toddaaro
af2e03998d
Enabled workstealing in the scheduler. Previously we had one global work queue shared by each scheduler. Now there is a separate work queue for each scheduler, and work is "stolen" from other queues when it is exhausted locally.
2013-08-08 14:13:41 -07:00
bors
a0080f4e07
auto merge of #8245 : alexcrichton/rust/fmt2, r=graydon
...
This is a reopening of #8182 , although this removes any abuse of the compiler internals. Now it's just a pure syntax extension (hard coded what the attribute names are).
2013-08-08 00:22:52 -07:00
Ben Blum
fb1575bcc4
(cleanup) Improve rtabort message for atomic-sleep.
2013-08-07 22:41:15 -04:00
Ben Blum
8ebdb37fd2
fix recv_ready for Port to take &self and not need to return a tuple. Close #8192 .
2013-08-07 22:41:15 -04:00
Alex Crichton
ffb670ffcd
Add initial support for a new formatting syntax
...
The new macro is available under the name ifmt! (only an intermediate name)
2013-08-07 19:21:43 -07:00
Brian Anderson
ce95b01014
Disable linked failure tests
...
The implementation currently contains a race that leads to segfaults.
2013-08-07 16:32:20 -07:00
Brian Anderson
ae1ed4fd78
std: Allow spawners to specify stack size
2013-08-07 15:40:27 -07:00
Brian Anderson
f82da818a7
std::rt: Pull RUST_MIN_STACK from the environment
2013-08-07 15:40:27 -07:00
Brian Anderson
eb6143257d
std::rt: 2MB stacks again
2013-08-07 15:40:26 -07:00
Erick Tryzelaar
19e17f54a0
std: removed option.take_map{,_default}
2013-08-07 08:52:09 -07:00
Erick Tryzelaar
1e490813b0
core: option.map_consume -> option.map_move
2013-08-07 08:52:09 -07:00