| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-08-01 | Started working on a library-based comm system. Creating and deleting ports ↵ | Eric Holk | -19/+12 | |
| work. | ||||
| 2011-07-29 | Lock the new task's scheduler when creating a task | Brian Anderson | -1/+0 | |
| Previously we were locking the spawning task's scheduler. I couldn't see that that was protecting anything. The newborn_task list in the new task's scheduler though was unprotected from concurrent access. So now we're locking the new task's scheduler. | ||||
| 2011-07-29 | Removing proxies and message queues. | Eric Holk | -4/+2 | |
| 2011-07-28 | Atomic reference counting for tasks. | Eric Holk | -22/+9 | |
| 2011-07-28 | Adding upcalls to to ref() and deref() tasks. This is the first step towards ↵ | Eric Holk | -0/+17 | |
| atomic reference counting of tasks. | ||||
| 2011-07-28 | Per-thread scheduling. Closes #682. | Eric Holk | -5/+5 | |
| Tasks are spawned on a random thread. Currently they stay there, but we should add task migration and load balancing in the future. This should drammatically improve our task performance benchmarks. | ||||
| 2011-07-21 | Improving move semantics for channel operations. | Eric Holk | -1/+1 | |
| This lets us un-XFAIL task-comm-10.rs. | ||||
| 2011-07-21 | Lots of work on memory tracking and channels. | Eric Holk | -14/+24 | |
| We're trying to get closer to doing correct move semantics for channel operations. This involves a lot of cleanup (such as removing the unused sched parameter from rust_vec constructor) and making circular_buffer kernel_owned. Added tagging for memory allocations. This means we give a string tag to everything we allocate. If we leak something and TRACK_ALLOCATIONS is enabled, then it's much easier now to tell exactly what is leaking. | ||||
| 2011-07-15 | rustc: Implement interior string logging in DPS | Patrick Walton | -0/+10 | |
| 2011-07-14 | Modify upcall_fail so that failing tasks relinquish control to the scheduler | Brian Anderson | -0/+3 | |
| This is sufficient to let unsupervised tasks that don't allocate fail without crashing or leaking. | ||||
| 2011-07-13 | Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases. | Graydon Hoare | -6/+5 | |
| 2011-07-13 | Remove 'Nop.' comments, add emacs lines, remove obsolete file. | Graydon Hoare | -1/+0 | |
| 2011-07-13 | Fix compile-command lines in rt. | Graydon Hoare | -1/+1 | |
| 2011-07-13 | Remove obsolete nargs counts from runtime. | Graydon Hoare | -6/+6 | |
| 2011-07-13 | Attempt to correct buggy win32 timer code (causing tinderbox failures). | Graydon Hoare | -2/+2 | |
| 2011-07-12 | rt: Remove the locks around upcall_shared_malloc and upcall_shared_free | Patrick Walton | -2/+1 | |
| 2011-07-10 | rt: Remove the now-unused upcall_ivec_resize and upcall_ivec_spill, which ↵ | Patrick Walton | -40/+0 | |
| allocated from the wrong heap | ||||
| 2011-07-07 | Work on debugging race conditions. | Eric Holk | -17/+26 | |
| Ports and channels have been moved to the kernel pool, since they've been known to outlive their associated task. This probably isn't the right thing to do, the life cycle needs fixed instead. Some refactorying in memory_region.cpp. Added a helper function to increment and decrement the allocation counter. This makes it easier to switch between atomic and non-atomic increments. Using atomic increments for now, although this still does not fix the problem. | ||||
| 2011-07-07 | Removing most of the locks in rust_upcall.cpp and elsewhere. | Eric Holk | -51/+38 | |
| 2011-07-06 | Allocate rust_ivec buffers out of the kernel pool | Rob Arnold | -0/+72 | |
| The duplication of upcalls is due to the fact that the runtime is shared between stage0/rustc and stage1/rustc. Once snapshots are updated, they should be de-duplicated. | ||||
| 2011-07-06 | rt: Add a stack check to upcall_get_type_desc | Patrick Walton | -0/+17 | |
| 2011-07-01 | Move the channel destroy code into rust_chan. | Rob Arnold | -29/+1 | |
| This lets native code more easily destroy channels since directly deleting a channel is not always the right way to destroy it. | ||||
| 2011-07-01 | Move channel cloning logic into a method on rust_chan. | Rob Arnold | -15/+1 | |
| This will allow us to more easily clone channels from native code. | ||||
| 2011-06-30 | rt: Add room for the new fill slot when resizing interior vectors | Patrick Walton | -1/+1 | |
| 2011-06-29 | Re-enable tidy (it was broken) and fix various non-tidy things. | Graydon Hoare | -1/+2 | |
| 2011-06-29 | rt: Remove the lock around upcall_vec_append. Add a test case. Closes #156. | Patrick Walton | -1/+0 | |
| 2011-06-28 | rustc: Move duplicate_heap_parts to copy glue; add a test case | Patrick Walton | -3/+2 | |
| 2011-06-28 | rustc: Rename take glue to copy glue | Patrick Walton | -3/+4 | |
| 2011-06-28 | Re-enabling some tests. | Eric Holk | -2/+2 | |
| 2011-06-28 | Renamed what's left of rust_dom to rust_scheduler | Eric Holk | -34/+34 | |
| 2011-06-28 | Removed dom_owned, splitting things between task_owned and kernel_owned. Had ↵ | Eric Holk | -4/+3 | |
| to re-xfail a few tests brson recently un-xfailed. | ||||
| 2011-06-28 | Moved thread management to rust_kernel. | Eric Holk | -19/+19 | |
| 2011-06-28 | There is only one domain per kernel now. | Eric Holk | -80/+0 | |
| 2011-06-27 | Properly handle the case where src==dst but we have to allocate a new vector. | Michael Sullivan | -1/+1 | |
| 2011-06-27 | Properly handle the case where src==dst in upcall_vec_append. | Michael Sullivan | -0/+6 | |
| 2011-06-27 | A little tidying in rt. | Graydon Hoare | -1/+1 | |
| 2011-06-27 | Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵ | Eric Holk | -20/+44 | |
| RUST_THREADS=8, so we're probably fairly safe now. In the future we can relax the synchronization to get better performance. | ||||
| 2011-06-27 | Fixed a few concurrency bugs. Still not perfect, but overall it seems much ↵ | Eric Holk | -3/+6 | |
| more reliable. | ||||
| 2011-06-20 | Added string duplication to deep_copy. Closes #520. | Eric Holk | -3/+15 | |
| 2011-06-16 | Removing dead upcall_join. Closes #509. | Eric Holk | -21/+0 | |
| 2011-06-16 | Get rid of old vec_append glue. | Michael Sullivan | -10/+8 | |
| 2011-06-15 | Fixed a problem where spawn arguments were getting lost again. Also, fixed ↵ | Eric Holk | -13/+10 | |
| up stack alignment, which closes #496 | ||||
| 2011-06-15 | Re-enabled join. | Eric Holk | -2/+0 | |
| 2011-06-14 | Merge pull request #490 from msullivan/fix_vec_append | Patrick Walton | -1/+48 | |
| Move the implementation of vec_append from llvm assembly to a regular upcall | ||||
| 2011-06-14 | rustc: Implement on-heap resizing for interior vectors | Patrick Walton | -2/+9 | |
| 2011-06-14 | Implement upcall_vec_append and use it for vector append. | Michael Sullivan | -1/+48 | |
| 2011-06-13 | rustc: Add some interior vector spill code, untested as of yet | Patrick Walton | -2/+13 | |
| 2011-06-13 | rustc: Implement simple interior vector append translation | Patrick Walton | -0/+19 | |
| 2011-06-13 | This is the mega-ucontext commit. It replaces the task switching mechanism ↵ | Eric Holk | -2/+20 | |
| with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc). This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though. | ||||
| 2011-05-27 | Switched calling conventions so that spawn with multiple arguments works. | Eric Holk | -1/+1 | |
