about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2012-03-06rt: Change the rust_port refcounting scheme to avoid racesBrian Anderson-21/+26
Hopefully...
2012-03-05rt: Add a hack to fix a port detach bugBrian Anderson-1/+10
2012-03-05rt: Fix the atomic get_ref_count method to avoid racesBrian Anderson-18/+12
2012-03-05rt: Properly block tasks while waiting for port detachBrian Anderson-10/+53
2012-03-05rt: Make rust_port_detach less contentiousBrian Anderson-20/+23
It still utterly dominates some benchmarks with busy waiting, but at least it doesn't create lock contention while doing so.
2012-03-05rt: Make linked failure less prone to deadlockBrian Anderson-31/+58
Still a mess.
2012-03-05rt: Be more precise with VALGRIND_MAKE_MEM_UNDEFINEDBrian Anderson-5/+23
2012-03-05rt: Stop calling prepare_valgrind_stack when it's not neededBrian Anderson-2/+0
2012-03-05rt: Simplify reap_dead_tasksBrian Anderson-19/+12
2012-03-05rt: Add an assert to the scheduler loopBrian Anderson-1/+2
2012-03-05rt: Move receive code into rust_portBrian Anderson-28/+24
2012-03-05rt: Simplify the recv interfaceBrian Anderson-10/+1
2012-03-05rt: Move some code from rust_port_detach into rust_port::detachBrian Anderson-6/+6
2012-03-05rt: Move some locking from rust_port to rust_taskBrian Anderson-6/+2
2012-03-05rt: Renome rust_task::lock to port_lockBrian Anderson-14/+14
2012-03-05rt: Make the rust_task_thread lock privateBrian Anderson-4/+2
2012-03-05rt: Move transition from rust_task to rust_task_threadBrian Anderson-22/+42
2012-03-05rt: Protect cond and cond_name with the state_lockBrian Anderson-16/+21
2012-03-05rt: Don't take the task lock on state transitionsBrian Anderson-6/+0
2012-03-05rt: Protect rust_task::state with a lockBrian Anderson-5/+15
2012-03-05rt: Protect rust_task::killed with a lockBrian Anderson-4/+13
2012-03-05Extra removal, missed by last commit.Graydon Hoare-6/+0
2012-03-05Remove dead code from rt (debug_obj, rust_obj, rust_closure, rust_box_obj, ↵Graydon Hoare-42/+0
rust_vtable)
2012-03-05rt: Remove virtual methods from memory_region, rust_srvBrian Anderson-11/+8
2012-03-02rt: Move RUST_POISON_ON_FREE into rust_envBrian Anderson-7/+4
2012-03-02rt: Checking port_table.is_empty() requires a lockBrian Anderson-1/+6
2012-03-02rt: Protect rust_task::supervisor with a lockBrian Anderson-5/+13
2012-03-02rt: Port ref counts are protected by the task lock. Ick.Brian Anderson-1/+1
2012-03-02rt: Always delete task stacks on the task threadBrian Anderson-7/+12
There's not a real race here, but it makes helgrind happy and is arguably less prone to future errrors.
2012-03-02retool inline encoding to handle methods, fix testsNiko Matsakis-360/+351
2012-03-01rt: Make fields of rust_task_thread private where possibleBrian Anderson-39/+36
2012-03-01rt: rust_task_thread isn't ref countedBrian Anderson-2/+0
2012-03-01rt: Remove vec_append.llBrian Anderson-138/+0
This looks like just a random snippet of llasm.
2012-03-01rt: Remove rust_kernel::live_tasks. UnusedBrian Anderson-8/+3
2012-02-29add the ability to snag the frame so we can verify that we are inliningNiko Matsakis-1/+25
2012-02-28rt: strings should escape chars like '\n' as '\n'Erick Tryzelaar-4/+13
2012-02-28rt: Reset the stack boundary after returning from crust functionsBrian Anderson-0/+3
2012-02-28add rust_uv_loop_delete to rustrt.def.inJeff Olson-0/+1
2012-02-28add uv::loop_delete()Jeff Olson-2/+8
because of the last change, the loop ptr is no longer cleaned up when the loop exits. This api call addresses that. Sadly, the loop ptr is not "reusable" across multiple calls to uv::run().
2012-02-28correcting for libuv behavior that differs between linux & windowsJeff Olson-16/+2
net complexity increase :/
2012-02-28moving new uv stuff into uv.rs and rust_uv.cppJeff Olson-669/+170
- removing the remains of uvtmp.rs and rust_uvtmp.rs - removing the displaced, low-level libuv bindings in uv.rs and rust_uv.cpp
2012-02-28fzzzy's patch for rustrt.def.inJeff Olson-0/+13
adds new c/c++ methods bound in rust for uvtmp::uv
2012-02-28finishing up simple uv_timer implJeff Olson-8/+51
as it stands, basic async nad timer support is added
2012-02-28cleaning up uv_async stuff and stubbing uv_timerJeff Olson-36/+91
2012-02-28removed hello world and added uv_async_*Jeff Olson-3/+37
2012-02-28everything is laid out and working through a basic hwJeff Olson-0/+52
the core impl is there, with a async handle in place to take incoming operations from user code. No actual uv handle/operations are implemented yet, though.
2012-02-28remove temp sanity checkNiko Matsakis-3/+0
2012-02-27rt: Don't zero new stacksBrian Anderson-33/+28
2012-02-27rt: Change the way the kernel exits to avoid pthread leaksBrian Anderson-28/+44
This makes the kernel join every scheduler thread before exiting in order to ensure that all threads are completely terminated before the process exits. On my machine, for 32-bit targets, this was causing regular valgrind errors.
2012-02-27Revert "rt: Reconfigure the C stack for valgrind each time it's used"Brian Anderson-1/+1
This reverts commit 859e0256524a1f19ca0c79f518d2bb396355f174. This ended up not fixing the '0 bytes lost' problem and has some performance impact.