| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-12-10 | Add license boilerplate to more files. | Graydon Hoare | -0/+10 | |
| 2012-07-12 | Comments only: TODOs to FIXME in the runtime | Tim Chevalier | -1/+2 | |
| 2012-06-21 | Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. | Graydon Hoare | -1/+2 | |
| 2012-04-03 | Refactor includes structure, getting rid of rust_internal.h | Jon Morton | -3/+2 | |
| Many changes to code structure are included: - removed TIME_SLICE_IN_MS - removed sychronized_indexed_list - removed region_owned - kernel_owned move to kernel.h, task_owned moved to task.h - global configs moved to rust_globals.h - changed #pragma once to standard guard in rust_upcall.h - got rid of memory.h | ||||
| 2012-04-01 | Merge remote-tracking branch 'brson/mainthread' | Brian Anderson | -0/+59 | |
| Conflicts: src/rt/rust_sched_loop.cpp src/rt/rust_shape.cpp src/rt/rust_task.cpp | ||||
| 2012-03-31 | rt: Fix whitespace | Brian Anderson | -1/+2 | |
| 2012-03-31 | Revert "rt: Remove lock_held_by_current_thread" | Brian Anderson | -0/+59 | |
| Adds back the ability to make assertions about locks, but only under the --enable-debug configuration This reverts commit b247de64583e2ab527088813ba9192824554e801. Conflicts: src/rt/rust_sched_loop.cpp | ||||
| 2012-03-28 | Tidy up multiple declarations and STDC_FOO_MACROS guards in headers. | Graydon Hoare | -1/+1 | |
| 2012-03-18 | rt: Remove lock_held_by_current_thread | Brian Anderson | -26/+0 | |
| 2012-03-13 | rt: Remove an incorrect assert in lock_and_signal | Brian Anderson | -1/+0 | |
| This assert doesn't hold because it isn't made while holding the lock | ||||
| 2012-02-19 | rt: Add some lock_and_signal assertions | Chris Peterson | -0/+5 | |
| Assert that locks are not reentered on the same thread, unlocked by a different thread, or deleted while locked. | ||||
| 2012-02-19 | rt: Initialize Windows CRITICAL_SECTION with non-zero spin count | Chris Peterson | -1/+12 | |
| If a CRITICAL_SECTION is not initialized with a spin count, it will default to 0, even on multi-processor systems. MSDN suggests using 4000. On single-processor systems, the spin count parameter is ignored and the critical section's spin count defaults to 0. For Windows >= Vista, extra debug info is allocated for CRITICAL_SECTIONs but not released in a timely manner. Consider using InitializeCriticalSectionEx(CRITICAL_SECTION_NO_DEBUG_INFO). | ||||
| 2012-02-19 | rt: Delete Windows CRITICAL_SECTION in dtor | Chris Peterson | -0/+1 | |
| 2012-02-02 | rt: Change the win32 event object to an auto-reset event | Brian Anderson | -1/+1 | |
| The way I read the docs, having this be a manual reset event means that after the first time it's signalled it stays that way until reset, and we never, ever reset it. | ||||
| 2012-02-02 | rt: Remove lock_and_signal::signal_all | Brian Anderson | -16/+0 | |
| 2012-02-02 | rt: Remove lock_and_signal::timed_wait | Brian Anderson | -35/+2 | |
| 2012-02-01 | rt: Fix lock_held_by_current_thread | Brian Anderson | -7/+12 | |
| This simplifies the check for thread ownership by removing the _locked flag and just comparing against the thread ID of the last thread to take the lock. If the running thread took the lock _holding_thread will be equal to pthread_self(); if _holding_thread is some other value then the running thread does not have the lock. Setting a pthread_t to 0 like this is not portable but should work on every platform we are likely to care about for the near future. | ||||
| 2012-02-01 | rt: Remove unused variable from lock_and_signal | Brian Anderson | -3/+1 | |
| 2011-08-03 | timeout_in_ns was renamed to timeout_in_ms. | Erick Tryzelaar | -1/+1 | |
| 2011-08-03 | Sleep for a nonzero amount of time on Windows. | Eric Holk | -3/+3 | |
| 2011-07-28 | Updating to work on Windows. | Eric Holk | -1/+2 | |
| 2011-07-28 | Adding upcalls to to ref() and deref() tasks. This is the first step towards ↵ | Eric Holk | -1/+1 | |
| atomic reference counting of tasks. | ||||
| 2011-07-28 | Made task threads wait instead of sleep, so they can be woken up. This ↵ | Eric Holk | -4/+30 | |
| appears to give us much better parallel performance. Also, commented out one more unsafe log and updated rust_kernel.cpp to compile under g++ | ||||
| 2011-07-13 | Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases. | Graydon Hoare | -1/+1 | |
| 2011-06-27 | A little tidying in rt. | Graydon Hoare | -1/+1 | |
| 2011-06-27 | Implementation mising features in lock_and_signal for Win32. Also lowered ↵ | Eric Holk | -4/+4 | |
| the minimum stack size to get the pfib benchmark to run without exhausting its address space on Windows. | ||||
| 2011-06-27 | Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵ | Eric Holk | -1/+3 | |
| 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 | Basic multithreading support. The infinite loops test successfully maxes out ↵ | Eric Holk | -0/+23 | |
| the CPU. | ||||
| 2011-06-13 | This is the mega-ucontext commit. It replaces the task switching mechanism ↵ | Eric Holk | -10/+10 | |
| 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-06-09 | Remove executable bit from lock_and_signal.cpp. | Erick Tryzelaar | -0/+0 | |
| 2010-09-10 | Added lock_and_signal::signal_all(), and made the rust_kernel::join() use ↵ | Michael Bebenita | -9/+24 | |
| wait instead of yield. | ||||
| 2010-09-08 | Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵ | Graydon Hoare | -0/+97 | |
| primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin. | ||||
