about summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
AgeCommit message (Collapse)AuthorLines
2011-07-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-1/+1
2011-07-13Trim a few more fail(1)s, not sure how they slipped past.Graydon Hoare-3/+3
2011-07-13Remove obsolete nargs counts from runtime.Graydon Hoare-17/+17
2011-07-13Attempt to correct buggy win32 timer code (causing tinderbox failures).Graydon Hoare-1/+1
2011-07-12stdlib: Move fs over to interior vectors by introducing a ↵Patrick Walton-1/+39
rust_list_files_ivec builtin
2011-07-08stdlib: Implement str::unsafe_from_bytes_ivec()Patrick Walton-0/+20
2011-07-07Fixed two races.Eric Holk-0/+5
The first is that the memory_region destructor would complain there is still an outstanding allocation. This is because circular_buffer from rust_chan wasn't refing its task, so the task was being destructed too soon. The second was where the program could deadlock while joining a task. The target task would die in the time between checking whether the task should block and then actually blocking. The fix is to use the target task's lock.
2011-07-07Removing the synchronized memory region from tasks.Eric Holk-5/+6
2011-07-07Removing most of the locks in rust_upcall.cpp and elsewhere.Eric Holk-5/+0
2011-07-06Allocate rust_ivec buffers out of the kernel poolRob Arnold-0/+60
The duplication of upcalls is due to the fact that the runtime is shared between stage0/rustc and stage1/rustc. Once snapshots are updated, they should be de-duplicated.
2011-07-05rt: Add missing CDECL to routines in rust_builtinPatrick Walton-6/+6
2011-06-30Added a nanosecond timer to time.rs, support for some floating point casts, ↵Eric Holk-0/+6
and a commandline-driven mode for pfib.rs
2011-06-29Adding support for pinning tasks to the currently running thread. Closes #598.Eric Holk-0/+9
2011-06-29Re-enable tidy (it was broken) and fix various non-tidy things.Graydon Hoare-1/+2
2011-06-28Renamed what's left of rust_dom to rust_schedulerEric Holk-10/+10
2011-06-28Removed dom_owned, splitting things between task_owned and kernel_owned. Had ↵Eric Holk-3/+3
to re-xfail a few tests brson recently un-xfailed.
2011-06-28Moved thread management to rust_kernel.Eric Holk-3/+3
2011-06-27Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵Eric Holk-0/+5
RUST_THREADS=8, so we're probably fairly safe now. In the future we can relax the synchronization to get better performance.
2011-06-19rt: Fix size miscalculation in ivec_reservePatrick Walton-1/+1
2011-06-17rustc: Fix a bunch of memory management bugs relating to generic interior ↵Patrick Walton-1/+1
vectors. Uncomment all tests in lib-ivec.
2011-06-17stdlib: added getcwd and a convenience function to make relative paths ↵Eric Holk-0/+30
absolute. This will be helpful for #441.
2011-06-16stdlib: Fix reserve on zero-length interior vectors; uncomment ↵Patrick Walton-2/+13
test_unsafe_ptrs()
2011-06-16rustc: Implement conversions from interior vector data to unsafe pointers ↵Patrick Walton-0/+37
and vice-versa
2011-06-16stdlib: Introduce an ivec module into the standard library; add a minimal ↵Patrick Walton-0/+10
test case
2011-06-16rt: Add an ivec length intrinsic and an ivec reserve function, both untested ↵Patrick Walton-0/+31
as of yet
2011-06-15Re-enabled join.Eric Holk-1/+6
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-0/+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-10Encode meta tags in the crate and start sketching enhanced logic for ↵Graydon Hoare-5/+11
resolving crate "use" directives. Now with extra "works on OSX" kludging.
2011-05-11Introduce str_slice runtime functionBrian Anderson-0/+18
This reduces the time to execute the new lib-str tests from 1:40ish to a few seconds and will eventually allow the full lib-sha1 test to run in a reasonable amount of time. XFAIL lib-str in stage0 - it will run very slowly until the next snapshot.
2011-04-29stdlib: Add a Time module to the standard libraryPatrick Walton-0/+29
2011-04-27stdlib/rt: Add an unsafe function to cast immutable vectors to mutable onesPatrick Walton-0/+9
2011-04-27Fix _str.bytes to trivial version.Graydon Hoare-0/+26
2011-04-21stdlib: Add a pointer equality function to the standard library and a test casePatrick Walton-0/+5
2011-04-19Overhaul logging system in runtimeMarijn Haverbeke-63/+52
See https://github.com/graydon/rust/wiki/Logging-vision The runtime logging categories are now treated in the same way as modules in compiled code. Each domain now has a log_lvl that can be used to restrict the logging from that domain (will be used to allow logging to be restricted to a single domain). Features dropped (can be brought back to life if there is interest): - Logger indentation - Multiple categories per log statement - I possibly broke some of the color code -- it confuses me
2011-04-07Move to macro-based logging checks in the C++ codeMarijn Haverbeke-27/+27
No functions should be called for log statements that turn out to be inactive.
2011-03-25Start making the standard-lib utf-8 awareMarijn Haverbeke-0/+21
Finally implements _str.is_utf8, adds from_chars, from_char, to_chars, char_at, char_len, (push|pop|shift|unshift)_char. Also, proper character I/O for streams.
2011-03-25Placate win32 build; no idea how it can be working currently on tinderbox.Graydon Hoare-1/+10
2011-03-25A first stab at the 'nbody' demo, with support for calling C sqrt().Lindsey Kuper-0/+5
2011-03-24rustc: Open "use"d crates; add a _vec.vec_from_buf() method along the way; ↵Patrick Walton-0/+7
XFAIL use-import-export.rs in rustc
2011-03-18Add some mutable variants of vector functions to the standard libraryPatrick Walton-0/+6
2011-03-16rustc: Add str_from_cstr() and str_from_buf() functions to the standard ↵Patrick Walton-0/+23
library, as well as a test case
2011-03-14Add functionality for running external programs to the std libMarijn Haverbeke-3/+0
See lib/run_program.rs.
2011-03-14Extend stream functionalityMarijn Haverbeke-0/+3
Writer and reader streams now come with methods to write and read little-endian numbers. Whether that is the right place for such methods is debatable, but for now, that's where they live.
2011-03-14Add basic file-system functionalityMarijn Haverbeke-14/+50
std.fs.list_dir will list the files in a directory, std.fs.file_is_dir will, given a pathname, determine whether it is a directory or not.
2011-01-14Change log buffer butes to a symbolic const in runtime.Graydon Hoare-2/+2
2010-12-31Add std.dbg.trap(str msg) for help debugging.Graydon Hoare-0/+8
2010-11-09Support a special const-value refcount, use it for const strings.Graydon Hoare-3/+9
2010-11-02First pass on splitting stratum and opacity off of effects. WIP.Graydon Hoare-1/+1
2010-09-30Fix bug in bind thunks failing top drop unbound args; add test and adjust ↵Graydon Hoare-0/+4
rustc to use bind again.
2010-09-06Add a little pointer-cast helper to dbg.Roy Frostig-0/+13