Alex Crichton
c109bed15b
Deny common lints by default for lib{std,extra}
2013-06-25 17:39:43 -07:00
Eric Reed
34b1135b59
Converted UdpSocket into a newtype struct and (dis)connecting uses move semantics rather than ~.
2013-06-25 17:05:59 -07:00
Eric Reed
f604686295
converted UvUdpSocket into a newtype struct
2013-06-25 17:04:28 -07:00
Eric Reed
c5b19f0bf9
changed outdated match on IpAddr
2013-06-25 16:04:09 -07:00
Eric Reed
d0c812f2a8
IPv6 struct
2013-06-25 16:03:24 -07:00
Eric Reed
2c5cfe1037
removed obsolete FIXMEs. formatting changes.
2013-06-25 16:02:51 -07:00
Eric Reed
f202713b73
satisfy the formatting check
2013-06-25 14:40:36 -07:00
Eric Reed
1af2016358
removed unncessary unsafe block that was stopping compliation.
2013-06-25 11:59:47 -07:00
Eric Reed
4870dce3eb
Merge remote-tracking branch 'upstream/io' into io
...
Conflicts:
src/rt/rustrt.def.in
2013-06-25 11:45:44 -07:00
Eric Reed
794923c995
UDP networking with tests
2013-06-25 11:43:40 -07:00
bors
7aee5da08d
auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmr
...
This sets the `get_tydesc()` return type correctly and removes the intrinsic module. See #3730 , #3475 .
Update: this now also removes the unused shape fields in tydescs.
2013-06-25 04:38:06 -07:00
Brian Anderson
e65d0cbabe
extra: Make test runner compatible with newsched
2013-06-24 17:07:03 -07:00
Brian Anderson
d071f51cdc
std::rt: deny(unused_unsafe)
2013-06-24 17:07:03 -07:00
Brian Anderson
b530ca1033
std: Make unlinking and task notification work with newsched
2013-06-24 17:07:03 -07:00
Brian Anderson
5e7c5d6c3d
std: Make box annihilator work with newsched
2013-06-24 17:07:03 -07:00
Brian Anderson
a09972db35
std: Move dynamic borrowck code from unstable::lang to rt::borrowck
2013-06-24 17:07:03 -07:00
Brian Anderson
aa9210d25a
std: Rewrite vec_reserve_shared_actual in Rust
2013-06-24 17:07:01 -07:00
Daniel Micay
e2e39234cc
remove old_iter
...
the `test/run-pass/class-trait-bounded-param.rs` test was xfailed and
written in an ancient dialect of Rust so I've just removed it
this also removes `to_vec` from DList because it's provided by
`std::iter::to_vec`
an Iterator implementation is added for OptVec but some transitional
internal iterator methods are still left
2013-06-24 01:35:11 -04:00
Philipp Brüschweiler
469f394b25
Remove intrinsic module
...
To achieve this, the following changes were made:
* Move TyDesc, TyVisitor and Opaque to std::unstable::intrinsics
* Convert TyDesc, TyVisitor and Opaque to lang items instead of specially
handling the intrinsics module
* Removed TypeDesc, FreeGlue and get_type_desc() from sys
Fixes #3475 .
2013-06-23 12:49:16 +02:00
Daniel Micay
d2e9912aea
vec: remove BaseIter implementation
...
I removed the `static-method-test.rs` test because it was heavily based
on `BaseIter` and there are plenty of other more complex uses of static
methods anyway.
2013-06-23 02:05:20 -04:00
Brian Anderson
95eb01957b
std: Make console log off/on controls work with newsched
2013-06-21 16:52:07 -07:00
Brian Anderson
1b7c99655f
std::rt: Support os::args
2013-06-21 14:42:15 -07:00
Brian Anderson
7a9a6e4591
std: Port SharedChan to newsched
2013-06-20 18:26:56 -07:00
Brian Anderson
357f087786
Merge remote-tracking branch 'brson/io' into io-upstream
...
Conflicts:
src/rt/rust_builtin.cpp
src/rt/rustrt.def.in
2013-06-20 12:17:00 -07:00
Brian Anderson
4d39253a96
std::rt: Whitespace
2013-06-20 12:16:04 -07:00
Brian Anderson
bbf5469b75
Merge remote-tracking branch 'brson/io-wip' into io
2013-06-20 11:26:29 -07:00
Eric Reed
55dda46cf6
Merge remote-tracking branch 'upstream/io' into io
2013-06-20 10:51:04 -07:00
Eric Reed
36c0e04e57
derived instances of Eq and TotalEq for IpAddr rather than implement them manually.
2013-06-19 17:39:02 -07:00
Eric Reed
ac49b74e82
socket based UDP io
2013-06-19 17:23:55 -07:00
Brian Anderson
5086c0850e
std::rt: Update GC metadata in init
2013-06-19 16:08:07 -07:00
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