summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
AgeCommit message (Collapse)AuthorLines
2012-07-06Pipes sleep and wake properly.Eric Holk-0/+20
2012-06-28Cleanup failure handling around rust_new_task_in_sched - closes #2668Ben Blum-1/+2
2012-06-28Fix sys::refcount and remove dbg::refcountBen Blum-7/+0
2012-06-28rt: Add task_local_data and related builtin calls (Closes #2680)Ben Blum-1/+13
2012-06-27More keyword paring and migration in runtime, docs, code modes.Graydon Hoare-1/+1
2012-06-22Use must_have_lock instead of private functions. (Issue #2700)Eric Holk-6/+2
I hereby declare that messages sent from the same source arrive in order (Issue #2605) Removing FIXME, owned is the correct type here. (Issue #2704) Remove outdated FIXME (Issue #2703) Updating test for spawning native functions (Issue #2602) Removing bogus FIXME (Issue #2599)
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-8/+9
2012-06-21Comments only: annotate FIXMEsTim Chevalier-4/+5
2012-06-19Fixed a compile error in runtime.Eric Holk-1/+2
2012-06-19Adding a lock/condition variable to libcore.Eric Holk-0/+56
2012-06-18Some cleanup in the runtime.Michael Sullivan-3/+2
2012-06-16Revert "Adding a lock/condition variable to libcore."Tim Chevalier-55/+0
This reverts commit e394ebda37bf6bbe4c516e2b9381aac8bd964dcc.
2012-06-15Adding a lock/condition variable to libcore.Eric Holk-0/+55
2012-06-06std: Add debug::breakpointBrian Anderson-0/+5
2012-06-05rt: Fix iaac_init using wrong type and not seeding correctlyBrian Anderson-1/+1
This was a result of changing the vector representation to contain a box header.
2012-05-30rt: Fix build errors on winBrian Anderson-3/+3
2012-05-30rt: Fix vec_from_buf_shared for new vecsBrian Anderson-5/+6
2012-05-30rt: Fix rust_list_files for new vecsBrian Anderson-5/+5
2012-05-30Various changes for self-describing vecsBrian Anderson-18/+18
2012-05-23A shareable atomically reference counted pointer wrapper.Eric Holk-0/+10
Needs more tests to ensure safety, and probably some more work on usability too.
2012-05-21rt: Fix def of isaac_seed on windowsBrian Anderson-1/+1
2012-05-21add a seeded random number generator so that sequences of random numbers can ↵Gareth Daniel Smith-2/+27
be easily reproduced (for https://github.com/mozilla/rust/issues/2379)
2012-05-19expose tzsetErick Tryzelaar-1/+5
2012-05-15core: Add task::unkillableBrian Anderson-0/+12
2012-05-03core: Add comm::recv_chan to receive from a channelBrian Anderson-0/+18
2012-04-30core: Serialize all access to the environment using a weak global taskBrian Anderson-0/+6
2012-04-07core: Add priv::weaken_taskBrian Anderson-15/+14
2012-04-06core: Add priv::chan_from_global_ptrBrian Anderson-0/+6
This allows singleton, globally accessible tasks to be created
2012-04-03std: add localtime/gmtime support.Erick Tryzelaar-0/+123
2012-04-03std: fix a typo.Erick Tryzelaar-1/+1
2012-04-03std: change timeval to ns resolution timespecErick Tryzelaar-4/+11
This lets us use the more precise clock_gettime on posix machines.
2012-04-03std: change time::timeval to be {sec: i64, usec: i32}.Erick Tryzelaar-2/+2
It's possible to have negative times if expressing time before 1970, so we should use signed types. Other platforms can return times at a higher resolution, so we should use 64 bits.
2012-04-03Merge remote-tracking branch 'brson/mainthread'Brian Anderson-0/+6
Conflicts: src/rt/rust_kernel.cpp src/rt/rust_scheduler.cpp src/rt/rust_scheduler.h
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-1/+1
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-03core: Add a scheduler mode, osmain, to spawn onto the main schedulerBrian Anderson-0/+6
2012-04-02Add global rust_get_current_taskJon Morton-34/+34
Previously two methods existed: rust_sched_loop::get_task and rust_task::get_task_from_tcb. Merge both of them into one, trying the faster one (tcb) first, and if that fails, the slower one from the tls.
2012-04-01replace assertion macros with plain assertsJon Morton-12/+6
2012-03-31rt: Rename rust_task_thread to rust_sched_loopBrian Anderson-47/+47
This class no longer represents a thread; it just schedules tasks.
2012-03-20Some tests for passing and returning structures by value on x64. Close ↵Graydon Hoare-0/+37
#1402. Close #1970.
2012-03-15core: Channels are just port idsBrian Anderson-6/+4
2012-03-15rt: Remove remaining uses of rust_kernel::get_task_by_idBrian Anderson-13/+5
2012-03-15rt: Look up ports through a single port tableBrian Anderson-13/+6
Instead of a two-level lookup, just use one big table
2012-03-06rt: Change the rust_port refcounting scheme to avoid racesBrian Anderson-1/+0
Hopefully...
2012-03-05rt: Add a hack to fix a port detach bugBrian Anderson-1/+5
2012-03-05rt: Fix the atomic get_ref_count method to avoid racesBrian Anderson-5/+1
2012-03-05rt: Properly block tasks while waiting for port detachBrian Anderson-4/+9
2012-03-05rt: Make rust_port_detach less contentiousBrian Anderson-2/+1
It still utterly dominates some benchmarks with busy waiting, but at least it doesn't create lock contention while doing so.
2012-03-05rt: Move receive code into rust_portBrian Anderson-23/+1
2012-03-05rt: Simplify the recv interfaceBrian Anderson-10/+1
2012-03-05rt: Move some code from rust_port_detach into rust_port::detachBrian Anderson-6/+0