about summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
AgeCommit message (Collapse)AuthorLines
2013-03-16rt: Add RUST_DEBUG_MEM to rust_env to avoid racesBrian Anderson-0/+5
2013-03-14auto merge of #5364 : xenocons/rust/patch-1, r=z0w0bors-1/+1
2013-03-14updated from L to ull for easier mingw32 builds.xenocons-1/+1
2013-03-13Revamp foreign code not to consider the Rust modes. This requiresNiko Matsakis-6/+38
adjusting a few foreign functions that were declared with by-ref mode. This also allows us to remove by-val mode in the near future. With copy mode, though, we have to be careful because Rust will implicitly pass somethings by pointer but this may not be the C ABI rules. For example, rust will pass a struct Foo as a Foo*. So I added some code into the adapters to fix this (though the C ABI rules may put the pointer back, oh well). This patch also includes a lint mode for the use of by-ref mode in foreign functions as the semantics of this have changed.
2013-03-12Work around linkage bug cross-compiling from x86_64-apple-darwin to ↵Brian Anderson-0/+27
i686-apple-darwin The correct opendir/readdir to use appear to be the 64-bit versions called opendir$INODE64, etc. but for some reason I can't get them to link properly on i686. Putting them in librustrt and making gcc figure it out works. This mystery will have to wait for another day.
2013-03-11core: Add rt mod and add the new scheduler codeBrian Anderson-4/+4
2013-03-11rt/core: port os::list_dir to rust ref #4812Jeff Olson-36/+30
2013-03-11core: rt/core: impl os::env() in rust ref #4812Jeff Olson-31/+4
2013-03-11rt/core: impl os::getcwd() in rust ref #4812Jeff Olson-19/+0
2013-02-27rt: Make some runtime calls work outside of task contextBrian Anderson-4/+2
2013-02-19rt: fix memory-unsafe random seed logic, r=valgrindcleanGraydon Hoare-27/+8
2013-02-14reseed rust_rng after generating 32KBChris Peterson-1/+2
2013-02-14encapsulate isaac RNG in rust_rng structChris Peterson-14/+14
2013-02-14rt: rand.rs expects rust_next() to return uint32_t, not size_tChris Peterson-1/+1
2013-02-13rt: Fix alignment in debug_opaqueLuqman Aden-6/+5
2013-02-13rt: take into account alignment for debug_opaque. Closes #2667Luqman Aden-3/+6
2013-02-13rt: get rid of rust_fn and replace with fn_env_pair plus a little cleanup.Luqman Aden-26/+8
2013-02-12auto merge of #4900 : luqmana/rust/core_os_errors, r=graydonbors-44/+0
Rewrote the last pull request (#4859) to not require on llvm for core. Also fixes #2269.
2013-02-12auto merge of #4858 : z0w0/rust/rm_weak_task_count, r=graydonbors-4/+4
2013-02-11rt: remove last_os_error and adjust tests.Luqman Aden-44/+0
2013-02-09Rename dec/inc_weak_task_count to inc/dec_live_count and remove ↵Zack Corr-4/+4
register_task/unregister_task. Closes #4768
2013-02-08rt: remove unused 'rust_compare_and_swap_ptr'. Closes #4836Mark Vian-6/+0
2013-02-01rt: Remove portsBrian Anderson-76/+0
2013-01-23Remove old comm-based weak task interfaceBrian Anderson-12/+0
2013-01-23core: Convert getenv/setenv to use a mutexBrian Anderson-6/+0
This much simpler implementation uses a global mutex and eliminates the kernel environment channel.
2013-01-23core: Add new weak task APIBrian Anderson-0/+12
2013-01-17core: Add private global data interface. #3915Brian Anderson-0/+6
2013-01-15Add at_exit function #4450Brian Anderson-0/+5
2013-01-15Spawn new tasks onto the primary scheduler by default. #3760Brian Anderson-1/+4
2013-01-13More android supportILyoan-1/+1
Conflicts: Makefile.in cmakeFiles/rustllvm.cmake
2013-01-13Support ARM and Androidkyeongwoon-0/+21
Conflicts: src/libcore/os.rs src/librustc/back/link.rs src/librustc/driver/driver.rs src/librustc/metadata/loader.rs src/librustc/middle/trans/base.rs
2013-01-11Add core::private::run_in_bare_threadBrian Anderson-0/+31
This begins executing Rust code in a fresh context with no runtime environment
2012-12-10Add license boilerplate to more files.Graydon Hoare-0/+10
2012-10-23rt: Remove box annihilatorBrian Anderson-7/+0
2012-10-21Replace rust_atomic_increment/decrement and rust_compare_and_swap_ptr with ↵Luqman Aden-10/+0
intrinsics.
2012-10-03Attempt to fix os::args errors on various platforms.Graydon Hoare-0/+12
2012-10-02libstd: Switch off legacy modes in both core and std.Patrick Walton-0/+10
2012-09-25rustc: Fix calls to the logging function when the must_cast flag is true; ↵Patrick Walton-2/+2
stop using shape code for logging
2012-09-25Revert "rustc: Stop using shape code for logging" due to ICEsPatrick Walton-2/+2
This reverts commit ac822a52be47579ffa59d5ca3e125680a79545d0.
2012-09-25rustc: Stop using shape code for loggingPatrick Walton-2/+2
2012-09-24rt: Add a logging function for strings (only).Patrick Walton-0/+7
This will be the shape-free replacement for upcall_log_type.
2012-09-19V2: now with more locks!Philipp Brüschweiler-2/+2
2012-09-19core: Allocate threads on demand, not on scheduler startupPhilipp Brüschweiler-1/+7
API change: rust_kernel::create_scheduler() or rust_scheduler::rust_scheduler() respecitevly now take ownership of the launch factory argument, it is needed to create new threads on demand. Also renames rustrt::sched_threads() to rustrt::rust_sched_threads() for consistency. Added rustrt::rust_max_sched_threads() to return the maximal number of scheduled threads of the current scheduler. Fixes #3493.
2012-09-13rt: Implement ThreadPerCore scheduling modePhilipp Brüschweiler-1/+7
Fixes #3465.
2012-09-07gc: Fix for GC missing stack frames across segment boundaries.Elliott Slaughter-0/+5
2012-08-31Merge remote-tracking branch 'erickt/incoming'Brian Anderson-34/+2
2012-08-31rt: Add interface to box annihilator.Elliott Slaughter-0/+7
2012-08-30libcore: rewrite str::reserve in pure rust.Erick Tryzelaar-7/+0
2012-08-30libcore: Rewrite str::unsafe::push_byte in pure rust.Erick Tryzelaar-10/+0
2012-08-30libcore: rewrite vec::unsafe::from_buf in pure rustErick Tryzelaar-17/+2