Niko Matsakis
5aaafa704f
adjust alignment, size of tag variant id and make it easy to
...
adjust in the future
2011-11-16 15:16:43 -08:00
Niko Matsakis
26b0662fb8
fix alignment for chan_handle structs; rust equiv is translated
...
to char[16], not struct{long,long}
2011-11-16 15:16:42 -08:00
Niko Matsakis
69911c2bc1
temp. disable cycle coll. on x86_64
2011-11-16 15:16:41 -08:00
Niko Matsakis
b78c096ebc
enum does not have a size consistent with a tag, so use unsigned long instead
2011-11-16 15:16:41 -08:00
Niko Matsakis
59e2a0a9c1
add shim upcall func
2011-11-16 15:16:40 -08:00
Niko Matsakis
3617f0377f
correct alignment
2011-11-16 15:16:40 -08:00
Niko Matsakis
85083ec51b
begin efforts to use shim functions for c-stack calls
2011-11-16 15:16:40 -08:00
Patrick Walton
b3cf0c4d1b
Revert "rt: More work on morestack"
...
This reverts commit ced0d4f15e
.
2011-11-14 16:20:53 -08:00
Patrick Walton
ced0d4f15e
rt: More work on morestack
2011-11-14 16:17:08 -08:00
Brian Anderson
5b9f76eb7c
stdlib: Run cleanups on data that fails to send
2011-11-14 14:07:52 -08:00
Brian Anderson
f619d5e9e2
rt: Add locking invariants to rust_port
2011-11-13 16:38:34 -08:00
Brian Anderson
58e923de6e
rt: Perform task notification before killing the parent task
2011-11-13 16:36:47 -08:00
Brian Anderson
138d9ca5d5
Drop enqueued elements when a port is destructed. Closes #1155
2011-11-13 15:43:58 -08:00
Brian Anderson
a6f9f73f06
rt: Make rust_port's ref counting non-atomic
...
Now that the task lock must be held there's no need for atomicity
2011-11-11 16:12:48 -08:00
Brian Anderson
3d9023fa4d
rt: Take the task lock when dropping port refcounts
...
Sucks, but otherwise there are races when one task drops the refcount to zero
followed by another bumping it again
2011-11-11 16:11:31 -08:00
Brian Anderson
07771ec25b
Fix run-fail/spawnfail
...
Catch the case where a parent is killed immediately before it terminates
normally.
2011-11-11 14:20:00 -08:00
Brian Anderson
2385deaa0d
rt: Add locking invariants to rust_task
2011-11-11 12:11:21 -08:00
Brian Anderson
5e0e32faac
rt: Remove drop_port. Unused
2011-11-11 12:11:21 -08:00
Brian Anderson
5d1e321ecb
rt: Remove rust_chan
2011-11-11 12:11:21 -08:00
Brian Anderson
f705f68121
rt: Remove rust_aio.cpp. Bitrotted.
2011-11-10 18:02:08 -08:00
Brian Anderson
793da65a8e
rt: Move rust_chan::send to rust_port::send
2011-11-10 17:53:19 -08:00
Brian Anderson
371574f64b
rt: Remove rust_token. Unused
2011-11-10 17:35:21 -08:00
Brian Anderson
f5c4ce79a7
rt: Remove del_chan, take_chan, drop_chan. Unused
2011-11-10 17:28:28 -08:00
Brian Anderson
e4f980810b
rt: Simplify channel-port association
...
It turns out that there's only ever a single channel per port these days,
and it always has the same lifetime as the port, so we don't need a list or a
complex association protocol.
2011-11-10 17:26:22 -08:00
Brian Anderson
08d0ff38bc
rt: Remove new_chan. Not needed
2011-11-10 15:59:31 -08:00
Brian Anderson
0dc8387995
rt: Remove chan_send. Unused.
2011-11-10 15:36:09 -08:00
Niko Matsakis
7baf68b0bd
hack around the problem that x86_64 expects first few args in regs.
...
call on c-stack expects all data to be delivered on the stack.
2011-11-09 20:05:49 -08:00
Niko Matsakis
fc064f4410
use uint64_t when adjusting stack ptr
2011-11-09 20:05:49 -08:00
Niko Matsakis
ff5b319ce5
correct stack alignment
2011-11-08 21:14:09 -08:00
Niko Matsakis
2edd3135ad
cleanup, removing comments and dead code
2011-11-08 21:14:09 -08:00
Niko Matsakis
1a28ad4fa4
fix bug in loading argument regs
2011-11-08 21:14:09 -08:00
Niko Matsakis
b30a76ed1b
correct calling convention for x86_64
2011-11-08 21:14:09 -08:00
Niko Matsakis
0668eed81e
fix alignment of xmm register storage
2011-11-08 21:11:47 -08:00
Niko Matsakis
e24d1dd6f5
rewrite so that memory allocations have 0 overhead by default
2011-11-08 21:11:47 -08:00
Niko Matsakis
75b98a9076
Correct the arithmetic on 64-bit builds.
2011-11-08 21:11:47 -08:00
Erick Tryzelaar
1c87b9708c
Removing the baked in libuv.
2011-11-08 19:01:47 -08:00
Brian Anderson
061d2c2f77
Make task_sleep an intrinsic.
2011-11-08 15:58:08 -08:00
Brian Anderson
68f82de817
rt: Remove task_yield builtin
...
This is just a special case of task_sleep
2011-11-08 14:28:41 -08:00
Erick Tryzelaar
a727bbaf70
Revert "Removing the baked in libuv."
...
This reverts commit df30663fdd
.
2011-11-07 21:38:33 -08:00
Erick Tryzelaar
e8519b5b2f
Revert "Reimporting libuv as a submodule."
...
This reverts commit cbae254d8a
.
2011-11-07 21:38:18 -08:00
Erick Tryzelaar
cbae254d8a
Reimporting libuv as a submodule.
...
Closes #1152 .
2011-11-07 21:34:17 -08:00
Erick Tryzelaar
df30663fdd
Removing the baked in libuv.
2011-11-07 21:34:17 -08:00
Brian Anderson
8857657640
Rename rust_uv.cpp to rust_aio.cpp
2011-11-07 19:35:39 -08:00
Brian Anderson
fdeb5ba304
Upgrade libuv to f1859eb841be2fe48512bc10e64556383f408b01
2011-11-07 19:24:25 -08:00
Brian Anderson
b0c2416270
Clean up logging output. Closes #1088
2011-11-07 14:14:36 -08:00
Niko Matsakis
b578ed9b2a
add required symbols
2011-11-02 14:14:20 -07:00
Niko Matsakis
0982c7f78c
hastily port so we don't fail to build
2011-11-02 14:14:20 -07:00
Niko Matsakis
f1bc9307d8
get things checking on ia32
2011-11-02 14:14:19 -07:00
Niko Matsakis
f05761ddb3
enable intrinsics for multiple arch
2011-11-02 14:13:22 -07:00
Niko Matsakis
20946e6970
start going back to an i386 build
2011-11-02 14:13:22 -07:00