Niko Matsakis
60e93cd1ec
Re-enable cycle coll. on x86_64, seems to work better now.
2011-11-17 14:40:03 -08:00
Niko Matsakis
f597971441
make ref cnts a long not an int
2011-11-17 14:23:48 -08:00
Niko Matsakis
11187437c5
Merge branch 'master' of github.com:graydon/rust
2011-11-17 13:44:04 -08:00
Brian Anderson
6a0e85b81c
Remove intrinsic_2 functions
2011-11-17 13:23:35 -08:00
Niko Matsakis
f9231e932c
add an extra underscore
2011-11-17 12:02:15 -08:00
Brian Anderson
dd275cd749
Stop using temporary intrinsic_2 functions
2011-11-17 11:55:04 -08:00
Brian Anderson
30871408a6
rt: Remove debug printf in rust_start
2011-11-17 11:48:10 -08:00
Brian Anderson
a92699fe58
rt: Make morestack link on x86_64. Still utterly broken
2011-11-17 11:12:59 -08:00
Brian Anderson
d624e523c9
rt: Make stack growth code build on Linux
2011-11-17 10:53:06 -08:00
Patrick Walton
e6c3c4e48c
rt: More work on morestack
2011-11-17 10:52:59 -08:00
Brian Anderson
02cebbb9f1
Revert "rt: More work on morestack"
...
This reverts commit 68aff2ad6d55a051e9347aa38f945d114f282691.
2011-11-16 18:49:19 -08:00
Brian Anderson
5559e149e4
Revert "rt: Make stack growth code build on Linux"
...
This reverts commit da4b7da4e142a4c2119312c0e24b7c20bbe74e60.
2011-11-16 18:49:07 -08:00
Brian Anderson
da4b7da4e1
rt: Make stack growth code build on Linux
2011-11-16 18:33:00 -08:00
Patrick Walton
68aff2ad6d
rt: More work on morestack
2011-11-16 18:00:57 -08:00
Brian Anderson
8199558443
rt: Remove an unnecessary check from rust_task::yield
2011-11-16 17:55:04 -08:00
Brian Anderson
bae817efe6
rt: Remove rust_task::notify_tasks_wating_to_join
2011-11-16 17:22:14 -08:00
Brian Anderson
342dc21d2c
Disconnect ports before draining them. Issue #1155
2011-11-16 17:22:14 -08:00
Niko Matsakis
cbcdeb80d9
remove wrappers from intrinsics
2011-11-16 15:27:08 -08:00
Brian Anderson
d2199e8716
Various fixes for x86_64 on linux
...
Configure LLVM correctly, use the right data layout, add the readlink
function back, fix C constants, etc.
2011-11-16 15:24:56 -08:00
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 ced0d4f15e11e2c74766d1055146946ded3fba51.
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