Commit Graph

273 Commits

Author SHA1 Message Date
Eric Reed
083c692565 Changed visibility from being on the impl to being on methods per language syntax change. 2013-06-19 15:39:18 -07:00
toddaaro
753b497b4e Modified a match in resume_task_from_queue that was returning an int that was then matched on to instead use an enum. 2013-06-19 15:23:14 -07:00
Eric Reed
d777ba01cb Wrote the Eq instance of IpAddr in a slightly different way. 2013-06-19 15:20:28 -07:00
Brian Anderson
e1555f9b56 std::rt: Document and cleanup the run function 2013-06-19 01:13:56 -07:00
Brian Anderson
5722c953e5 std::rt: Correct the numbers of default cores 2013-06-19 00:49:05 -07:00
Brian Anderson
915aaa7f67 std::rt: Set the process exit code 2013-06-19 00:39:10 -07:00
Brian Anderson
1120f8c1e5 std::rt: Work around a dynamic borrowck bug 2013-06-18 23:20:53 -07:00
Brian Anderson
29ad8e15a2 std::rt: Improve the rtabort! macro 2013-06-18 16:27:48 -07:00
Graydon Hoare
d904c72af8 replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
Brian Anderson
5b2dc52034 std::rt: Turn on multithreaded scheduling 2013-06-18 00:17:14 -07:00
Brian Anderson
b5fbec9c1e std: Rename abort! to rtabort! to match other macros 2013-06-17 23:24:50 -07:00
Brian Anderson
021e81fbd3 std::rt: move abort function to util module 2013-06-17 23:22:41 -07:00
Brian Anderson
9ef4c413a8 std::rt: Check exchange count on exit 2013-06-17 23:18:20 -07:00
Brian Anderson
3281f5b637 std::rt: Add util mod and num_cpus function 2013-06-17 22:17:51 -07:00
Eric Reed
35f3fa6383 Merge remote-tracking branch 'upstream/io' into io
Conflicts:
	src/libstd/rt/uvio.rs
2013-06-17 12:45:40 -07:00
Eric Reed
33ae193a3c Started to implemented UdpStream 2013-06-17 12:35:41 -07:00
Eric Reed
e42f28c05c stated to implement UdpStream 2013-06-17 12:34:58 -07:00
Eric Reed
47443753f1 added Eq and TotalEq instances for IpAddr 2013-06-17 12:33:46 -07:00
Eric Reed
7e022c590f added a function to convert C's ipv4 data structure into the Rust ipv4 data structure. 2013-06-17 12:33:10 -07:00
Eric Reed
b51d1885be Added a RtioUdpStream trait 2013-06-17 12:32:21 -07:00
Eric Reed
9687437d45 added wrappers about uv_ip{4,6}_{port,name} 2013-06-17 12:31:30 -07:00
Brian Anderson
93156ab7e1 std::rt: Reduce the delay on a timer test. Slow 2013-06-16 19:24:51 -07:00
Brian Anderson
319cf6e465 Merge remote-tracking branch 'brson/io'
Conflicts:
	src/libstd/rt/comm.rs
	src/libstd/rt/mod.rs
	src/libstd/rt/sched.rs
	src/libstd/rt/task.rs
	src/libstd/rt/test.rs
	src/libstd/rt/tube.rs
	src/libstd/rt/uv/uvio.rs
	src/libstd/rt/uvio.rs
	src/libstd/task/spawn.rs
2013-06-16 15:09:25 -07:00
Brian Anderson
3208fc36bf Merge remote-tracking branch 'brson/io-wip' into io
Conflicts:
	src/libstd/rt/sched.rs
	src/libstd/rt/task.rs
	src/libstd/rt/test.rs
	src/libstd/task/mod.rs
	src/libstd/task/spawn.rs
2013-06-15 19:31:46 -07:00
Daniel Micay
6c547e42c8 rm vec::uniq_len 2013-06-15 22:16:21 -04:00
Brian Anderson
505ef7e710 std::rt: Tasks contain a JoinLatch 2013-06-15 19:00:44 -07:00
Brian Anderson
b08c446798 Merge remote-tracking branch 'toddaaro/io' into io 2013-06-15 17:00:36 -07:00
toddaaro
d1ec8b5fb8 redesigned the pinning to pin deal with things on dequeue, not on enqueue 2013-06-14 12:17:56 -07:00
Eric Reed
a7f92c92ed Added a UdpWatcher and UdpSendRequest with associated callbacks 2013-06-14 12:04:11 -07:00
Eric Reed
03fe59aefa added bindings to extract udp handle from udp send requests 2013-06-14 11:54:56 -07:00
Brian Anderson
90fbe38f00 std::rt: Tasks must have an unwinder. Simpler 2013-06-13 23:18:49 -07:00
Brian Anderson
fd148cd3e2 std::rt: Change the Task constructors to reflect a tree 2013-06-13 23:18:49 -07:00
Brian Anderson
abc3a8aa1e std::rt: Add JoinLatch
This is supposed to be an efficient way to link the lifetimes
of tasks into a tree. JoinLatches form a tree and when `release`
is called they wait on children then signal the parent.

This structure creates zombie tasks which currently keep the entire
task allocated. Zombie tasks are supposed to be tombstoned but that
code does not work correctly.
2013-06-13 23:18:45 -07:00
Daniel Micay
ec27644870 automated whitespace fixes 2013-06-13 18:03:08 -04:00
Eric Reed
5393e43b53 Corrected libuv UDP bindings. 2013-06-13 12:51:32 -07:00
Steven Stewart-Gallus
d9d50a5bd4 Remove unused imports
I was able to remove unused imports, and fix the following warnings

src/libstd/hashmap.rs:23:15: 23:23 warning: unused import [-W unused-imports (default)]
src/libstd/task/spawn.rs:95:15: 95:23 warning: unused import [-W unused-imports (default)]
src/libstd/rt/uv/mod.rs:42:0: 42:9 warning: unused import [-W unused-imports (default)]
src/libstd/rt/uv/mod.rs:45:0: 45:9 warning: unused import [-W unused-imports (default)]
src/librustc/middle/trans/meth.rs:26:0: 26:26 warning: unused import [-W unused-imports (default)]
src/librustc/back/link.rs:210:20: 210:25 warning: unused import [-W unused-imports (default)]

I was unable to fix the following unused import warnings. The code
here was weird.

src/libextra/std.rc:40:11: 40:14 warning: unused import [-W unused-imports (default)]
src/libextra/std.rc:40:16: 40:24 warning: unused import [-W unused-imports (default)]
2013-06-13 10:46:17 -07:00
Eric Reed
39a575fb43 Added libuv UDP function bindings. 2013-06-12 16:01:50 -07:00
toddaaro
4224fc7aad added functionality to tell schedulers to refuse to run tasks that are not pinned to them 2013-06-12 14:55:32 -07:00
Eric Reed
eb11274919 Removing redundant libuv bindings 2013-06-12 14:15:44 -07:00
Brian Anderson
e7213aa21e std::rt: Remove old files 2013-06-12 12:00:46 -07:00
toddaaro
8428081958 A basic implementation of pinning tasks to schedulers. No IO interactions have been planned for, and no forwarding of tasks off special schedulers is supported. 2013-06-12 11:32:22 -07:00
Huon Wilson
efc71a8bdb std: unify the str -> [u8] functions as 3 methods: .as_bytes() and .as_bytes_with_null[_consume]().
The first acts on &str and is not nul-terminated, the last two act on strings
that are always null terminated (&'static str, ~str and @str).
2013-06-12 12:21:04 +10:00
Brian Anderson
84d2695921 std::rt: Work around a dynamic borrowck bug 2013-06-10 17:46:49 -07:00
toddaaro
d64d26cd39 debugged a compiler ICE when merging local::borrow changes into the main io branch and modified the incoming new file lang.rs to be api-compatible 2013-06-10 15:29:02 -07:00
Ben Blum
8081aea3b8 Tag a bunch of destructors that need mutable self with FIXME for #4330. Close #4943. 2013-06-10 18:18:04 -04:00
Ben Blum
967c7d828a Replace str::raw::buf_as_slice with c_str_to_static_slice. Close #3843. 2013-06-10 17:34:28 -04:00
Brian Anderson
d83d38c7fe std::rt: Reduce task stack size to 1MB 2013-06-07 10:23:58 -07:00
Brian Anderson
d4de99aa6c std::rt: Fix a race in the UvRemoteCallback dtor 2013-06-06 17:53:13 -07:00
Brian Anderson
d6ccc6bc99 std::rt: Fix stream test to be parallel 2013-06-06 17:53:13 -07:00
Brian Anderson
8afec77cb0 std::rt: Configure test threads with RUST_TEST_THREADS. Default is ncores x2 2013-06-06 17:53:13 -07:00
Brian Anderson
80849e78a8 std: Fix stage0 build
Conflicts:
	src/libstd/rt/comm.rs
2013-06-06 17:53:13 -07:00
Brian Anderson
ece38b3c7e core::rt: Add MegaPipe, an unbounded, multiple producer/consumer, lock-free queue 2013-06-05 22:07:40 -07:00
Brian Anderson
51d257fd9a core::rt: Add SharedPort 2013-06-05 22:07:40 -07:00
Brian Anderson
422f663a98 core::rt: Implement SharedChan 2013-06-05 22:07:39 -07:00
Brian Anderson
1507df87cc std::rt: Remove in incorrect assert 2013-06-05 21:38:58 -07:00
Brian Anderson
f7e242ab8a std::rt: Destroy the task start closure while in task context 2013-06-05 21:38:58 -07:00
Brian Anderson
2e6d51f9ce std::rt: Use AtomicUint instead of intrinsics in comm 2013-06-05 21:38:48 -07:00
Patrick Walton
8114d0e950 librustc: Disallow multiple patterns from appearing in a "let" declaration.
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04 21:45:42 -07:00
Philipp Brüschweiler
34ee63e93b std::cell: Modernize constructors
Part of #3853
2013-06-04 12:03:58 +02:00
Daniel Micay
e900dba28a rename the Ptr trait to RawPtr
Closes #6607
2013-06-03 13:50:29 -04:00
Daniel Micay
454133127a ptr: split out borrowed pointer utilities
The ptr module is intended to be for raw pointers.

Closes #3111
2013-06-02 19:24:33 -04:00
Patrick Walton
5fb254695b Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
Brian Anderson
ea633b42ae core::rt: deny(unused_imports, unused_mut, unused_variable) 2013-05-30 13:20:17 -07:00
Daniel Farina
aef1e10eba Remove unnecessary 'use' forms
Fix a laundry list of warnings involving unused imports that glutted
up compilation output.  There are more, but there seems to be some
false positives (where 'remedy' appears to break the build), but this
particular set of fixes seems safe.
2013-05-30 13:08:18 -07:00
Brian Anderson
053b38e7e1 core::rt: Fix two multithreading bugs and add a threadring test
This properly distributes the load now
2013-05-30 00:18:49 -07:00
Brian Anderson
8eb358bb00 core::rt: Begin recording scheduler metrics 2013-05-30 00:18:07 -07:00
Brian Anderson
ca2eebd5dd core::rt: Add some notes about optimizations 2013-05-29 21:03:21 -07:00
Patrick Walton
206ab89629 librustc: Stop reexporting the standard modules from prelude. 2013-05-29 19:04:53 -07:00
Patrick Walton
aeda178011 librustc: Redo the unsafe checker and make unsafe methods not callable from safe code 2013-05-29 19:04:50 -07:00
Brian Anderson
f4ed554ddb Merge remote-tracking branch 'brson/io' into incoming
Conflicts:
	src/libstd/rt/sched.rs
2013-05-29 18:22:28 -07:00
Erick Tryzelaar
dc970c13f4 cleanup warnings from libstd 2013-05-23 17:48:16 -07:00
Patrick Walton
18df18c817 libstd: Fix merge fallout. 2013-05-22 21:57:11 -07:00
Patrick Walton
0c820d4123 libstd: Rename libcore to libstd and libstd to libextra; update makefiles.
This only changes the directory names; it does not change the "real"
metadata names.
2013-05-22 21:57:05 -07:00