| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-08-29 | Implement non-internal ivecs | Marijn Haverbeke | -65/+19 | |
| Vectors are now similar to our old, pre-internal vectors, except that they are uniquely owned, not refcounted. Their name should probably change too, then. I've renamed them to vec in the runtime, will do so throughout the compiler later. | ||||
| 2011-08-25 | rustc: Add an extra flag to object tydescs so that shapes know how to find ↵ | Patrick Walton | -2/+4 | |
| the captured subtydescs | ||||
| 2011-08-24 | Optimize += [x] into a simple push operation | Marijn Haverbeke | -0/+24 | |
| This is a preparation for making vectors always-on-the-heap again, which would cause way too much malloc traffic for this idiom. I will add an efficient std::vec::push in the future, and migrate += [x] to that instead. Reduces compiler code size by 3% | ||||
| 2011-08-22 | Rename copy_glue back to take_glue | Marijn Haverbeke | -3/+3 | |
| 2011-08-19 | rt: Remove rustboot's GC infrastructure | Patrick Walton | -15/+0 | |
| 2011-08-19 | rt: Call maybe_gc on mallocs | Patrick Walton | -0/+3 | |
| 2011-08-18 | Rename rust_vec to rust_evec | Brian Anderson | -14/+14 | |
| 2011-08-18 | Rename some vec upcalls and trans functions from vec* to evec* | Brian Anderson | -2/+8 | |
| 2011-08-18 | Remove upcall_new_vec | Brian Anderson | -18/+0 | |
| 2011-08-17 | rustc: Use obstacks in lieu of dynamically-allocated frames only when the ↵ | Patrick Walton | -1/+1 | |
| frame is actually dynamically-sized | ||||
| 2011-08-17 | Revert "rt: Use obstacks in lieu of dynamically-sized frames" | Patrick Walton | -1/+1 | |
| This reverts commit cc5fcfce89312042e52401eb883160ebf289235f. | ||||
| 2011-08-17 | rt: Use obstacks in lieu of dynamically-sized frames | Patrick Walton | -1/+1 | |
| 2011-08-16 | rt: Implement obstacks, untested as of yet | Patrick Walton | -0/+22 | |
| 2011-08-16 | Removing task, chan and port upcalls. | Eric Holk | -175/+0 | |
| 2011-08-15 | Properly ref counting to fix valgrind issues on linux. | Eric Holk | -12/+16 | |
| 2011-08-10 | rustc: Remove unused "trace" upcalls | Patrick Walton | -12/+0 | |
| 2011-08-10 | rt: Shutdown gracefully on failure | Brian Anderson | -1/+1 | |
| When the kernel fails, kill all tasks and wait for the schedulers to stop instead of just exiting. I'm sure there are tons of lurking issues here but this is enough to fail without leaking (at least in the absence of cleanups). | ||||
| 2011-08-08 | Introduced task handles. | unknown | -11/+17 | |
| This is the new way to refer to tasks in rust-land. Currently all they do is serve as a key to look up the old rust_task structure. Ideally they won't be ref counted, but baby steps. | ||||
| 2011-08-05 | Atomic ref counting for chans. | Eric Holk | -0/+16 | |
| 2011-08-05 | Basic async IO module using libuv | Rob Arnold | -14/+1 | |
| 2011-08-01 | Adding an intrinsic for recv. | Eric Holk | -2/+0 | |
| 2011-08-01 | Added send and receive to comm library. | Eric Holk | -21/+3 | |
| 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 | |
