about summary refs log tree commit diff
path: root/src/rt/rust.cpp
AgeCommit message (Collapse)AuthorLines
2011-11-17rt: Remove debug printf in rust_startBrian Anderson-1/+0
2011-11-17rt: More work on morestackPatrick Walton-0/+3
2011-11-16Revert "rt: More work on morestack"Brian Anderson-3/+0
This reverts commit 68aff2ad6d55a051e9347aa38f945d114f282691.
2011-11-16rt: More work on morestackPatrick Walton-0/+3
2011-11-14Revert "rt: More work on morestack"Patrick Walton-3/+0
This reverts commit ced0d4f15e11e2c74766d1055146946ded3fba51.
2011-11-14rt: More work on morestackPatrick Walton-0/+3
2011-10-20Don't rely on main.ll anymoreMarijn Haverbeke-3/+1
I'll remove the actual file after I register a snapshot. Issue #992
2011-10-05remove pthread_exit() from rust_start()Niko Matsakis-6/+0
It was causing OS X Lion to hang and (according to Apple) is undefined in any case
2011-09-03Remove unused runtime functions. Issue #855Brian Anderson-6/+0
2011-09-02Add a rust_str typedef to the runtime. Issue #855Brian Anderson-2/+2
2011-09-02Rename istr-stuff to str in the runtime. Issue #855Brian Anderson-3/+3
2011-09-02Remove estrs and evecs from runtime. Issue #855Brian Anderson-42/+6
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-2/+1
2011-09-01Factor out make_istr utility function in runtime. Issue #855Brian Anderson-8/+3
2011-08-30Allow main to take istrs. Issue #855Brian Anderson-3/+41
2011-08-29Implement non-internal ivecsMarijn Haverbeke-14/+6
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-24Remove rust_start_ivecMarijn Haverbeke-8/+0
2011-08-18Remove oldvecs from runtime command line processingBrian Anderson-30/+19
2011-08-18Simplify the _rust_main/rust_start interfaceBrian Anderson-14/+11
rust_start will always call _rust_main with the command line args, and it is _rust_main's responsibility to free the args ivec heap. _rust_main will be generated slightly differently depending on whether main takes an ivec or not: if so then it's just passed through to main, otherwise it frees the ivec directly.
2011-08-18Continue transition to an ivec-only mainBrian Anderson-26/+17
Only generate a single main function. Rename rust_start_ivec to rust_start, leaving a transitional rust_start_ivec in place.
2011-08-16Accept main(args: [str]) as main signatureBrian Anderson-4/+44
2011-08-15Properly ref counting to fix valgrind issues on linux.Eric Holk-0/+2
2011-08-08Introduced task handles.unknown-1/+3
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-07-29Removing proxies and message queues.Eric Holk-1/+0
2011-07-28Do all runtime calls to getenv at initializationBrian Anderson-59/+8
getenv is not threadsafe and (maybe as a result) it's randomly crashing with CFLAGS=-g and RUST_THREADS=32. Calls from rust code are still on their own.
2011-07-28Per-thread scheduling. Closes #682.Eric Holk-4/+3
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-28Made root_task no longer special.Eric Holk-3/+4
2011-07-26Base scheduler threads on number of cores. Closes #739Brian Anderson-3/+41
2011-07-21Lots of work on memory tracking and channels.Eric Holk-7/+10
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-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-1/+1
2011-06-29Add a runtime flag to enable/disable claims en masseTim Chevalier-0/+6
Now, if the environment variable CHECK_CLAIMS is set, then all claims turn into checks. Otherwise, claims are no-ops.
2011-06-28Renamed what's left of rust_dom to rust_schedulerEric Holk-8/+8
2011-06-28Moved win32_require to the kernel.Eric Holk-3/+3
2011-06-28Fixed Win32 compile errors.Eric Holk-6/+6
2011-06-28Removed dom_owned, splitting things between task_owned and kernel_owned. Had ↵Eric Holk-14/+17
to re-xfail a few tests brson recently un-xfailed.
2011-06-28Moved thread management to rust_kernel.Eric Holk-1/+1
2011-06-28There is only one domain per kernel now.Eric Holk-4/+1
2011-06-27A little tidying in rt.Graydon Hoare-1/+1
2011-06-27Added an environment variable to control how many threads to use.Eric Holk-1/+18
2011-06-27Basic multithreading support. The infinite loops test successfully maxes out ↵Eric Holk-1/+1
the CPU.
2011-06-15Fixed a problem where spawn arguments were getting lost again. Also, fixed ↵Eric Holk-2/+1
up stack alignment, which closes #496
2011-06-15Step 3 of cdecl conversion.Eric Holk-5/+2
2011-06-15Step 2 of cdecl task transition.Eric Holk-13/+3
2011-06-15Step 1 of moving task startup to always be cdecl.Eric Holk-7/+15
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-0/+4
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-10Move rt:: logging namespace to ::rt:: and implement RUST_LOG=? and ↵Graydon Hoare-1/+1
RUST_LOG=::help as synonyms that dump the crate logging map. Also warn when some logging specs don't match.
2011-05-31Remove code that is now dead.Rafael Ávila de Espíndola-5/+0
2011-05-31Start finishing up the rust_start signature transition.Rafael Ávila de Espíndola-3/+3
2011-05-26More delicious dead code removal from runtime, upcalls.Graydon Hoare-6/+1
2011-05-25dead argument removal part one.Rafael Ávila de Espíndola-2/+7