about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2011-09-20rt: Zero out allocations so that the CC won't die if it happens to run while ↵Patrick Walton-0/+2
a box is being constructed. This is kind of unfortunate.
2011-09-20rt: Add some debug code (ifdef'd out) for diagnosing marking problemsPatrick Walton-0/+6
2011-09-20rt: Skip over the reference count properly before walking the contents of ↵Patrick Walton-0/+2
the box when determining internal reference counts
2011-09-20rt: Remove obsolete commentPatrick Walton-1/+0
2011-09-20rt: Increase the tolerance of the vector range sanity checkPatrick Walton-1/+1
2011-09-20rt: Clean up debugging print statements in rust_obstack.cppPatrick Walton-4/+3
2011-09-20rt: First stab at computing internal reference countsPatrick Walton-15/+161
2011-09-20rt: Stub code for the cycle collectorPatrick Walton-0/+76
2011-09-20rt: Make rust_shape.h able to be included in more contextsPatrick Walton-1/+6
2011-09-20rt: Add an on-the-side GC chainPatrick Walton-0/+8
2011-09-20rt: Rename rand() to isaac_rand() since the former prevents lots of standard ↵Patrick Walton-5/+5
headers from being included
2011-09-20rt: Remove the GC alloc chainPatrick Walton-9/+4
2011-09-20rt: Remove #include "rust_box.h"Patrick Walton-1/+0
2011-09-20Revert "rt: Rename rust_box to rust_box_legacy, as they're about to become ↵Patrick Walton-7/+6
self-describing" This reverts commit f6871e832c6d79d54f274d4ef4513c087ea7e36b.
2011-09-20rt: Remove rust_box.h; I'm going to switch to an external map.Patrick Walton-18/+0
2011-09-20rt: Remove upcall_malloc_box and upcall_free_box; I don't think they'll be ↵Patrick Walton-37/+0
necessary after all
2011-09-19rt: Introduce a self-describing box representation and functions to create ↵Patrick Walton-1/+59
and free them
2011-09-16Yield after sendBrian Anderson-0/+1
2011-09-16rt: Add a new rust_box structure to the runtime that describes a ↵Patrick Walton-0/+0
self-describing box
2011-09-16rt: Rename rust_box to rust_box_legacy, as they're about to become ↵Patrick Walton-6/+7
self-describing
2011-09-16Handle the case where a child task tries to kill a parent while it is dyingBrian Anderson-1/+1
Still looks pretty racy
2011-09-15rt: Add libunwind.h support on Mac OS XPatrick Walton-1/+22
2011-09-14Unsupervise tasks before the scheduler kills them. Unblock before yield->failBrian Anderson-0/+7
2011-09-14Make failure propagation to dead parents workBrian Anderson-3/+10
The failure will basically go 'through' the dead parent and continue propagating the failure (as if the child was reparented).
2011-09-14Make linked task failure work againBrian Anderson-3/+14
2011-09-11Remove hack_allow_leaksBrian Anderson-21/+3
Happy to close the loop on this one. Issue #236
2011-09-11Use a unique exit status when the runtime fails normallyBrian Anderson-2/+5
Check for it in run-fail tests
2011-09-11Remove unused task_exit functionBrian Anderson-12/+0
Issue #236
2011-09-11Add upcall_rust_personalityBrian Anderson-0/+23
This just wraps __gxx_personality_v0 with our upcall naming convention Issue #236
2011-09-09Get rid of some unused upcallsMarijn Haverbeke-53/+1
I guess these became obsolete when the communication stuff moved into the stdlib.
2011-09-09Remove unused logging upcalls from runtimeMarijn Haverbeke-25/+0
2011-09-08rt: Don't double-print commas when logging e.g. a vec of boxesPatrick Walton-0/+4
2011-09-07Unwind the stack on task failureBrian Anderson-8/+41
When a task fails, we will throw an exception, then catch it at the bottom of the stack. On Windows we don't do this yet because the exception doesn't propagate correctly. No cleanups yet. Issue #236
2011-09-07Child tasks take a ref to their parentsBrian Anderson-0/+10
This is so that when a child dies after the parent, it still holds a valid pointer and can call supervisor->kill() safely.
2011-09-07Rewrite spawn yet againBrian Anderson-30/+70
The motivation here is that the bottom of each stack needs to contain a C++ try/catch block so that we can unwind. This is already the case for main, but not spawned tasks. Issue #236
2011-09-07Refactor task failure a bitBrian Anderson-3/+3
Issue #236
2011-09-06rt: Implement poison-on-free, for debugging memory issuesPatrick Walton-1/+23
2011-09-03Remove unused runtime functions. Issue #855Brian Anderson-12/+0
2011-09-02Add a rust_str typedef to the runtime. Issue #855Brian Anderson-12/+14
2011-09-02Rename istr-stuff to str in the runtime. Issue #855Brian Anderson-10/+10
2011-09-02Eliminate const_refcount. Issue #855Brian Anderson-13/+1
2011-09-02Remove estrs and evecs from runtime. Issue #855Brian Anderson-306/+31
2011-09-02rt: Remove evecs from the shape codePatrick Walton-55/+0
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-8/+1
2011-09-01Convert rust_list_files to istrs. Issue #855Brian Anderson-20/+21
2011-09-01Convert rust_getcwd to istrs. Issue #855Brian Anderson-13/+2
2011-09-01Factor out make_istr utility function in runtime. Issue #855Brian Anderson-8/+16
2011-09-01Reduce the amount of locking in the kernel's memory regionBrian Anderson-4/+4
The only thing here that really needs locking on malloc and free is access to the allocation list, which is only used for TRACK_ALLOCATIONS. Improves bench/task-perf-vector-party by 70%.
2011-09-01Back out copy-glueMarijn Haverbeke-3/+1
This wasn't a good idea after all.
2011-09-01Convert rust_file_is_dir from estrs to cstrs. Issue #855Brian Anderson-2/+2