summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
AgeCommit message (Collapse)AuthorLines
2011-11-16Disconnect ports before draining them. Issue #1155Brian Anderson-1/+14
2011-11-14stdlib: Run cleanups on data that fails to sendBrian Anderson-1/+4
2011-11-13Drop enqueued elements when a port is destructed. Closes #1155Brian Anderson-0/+5
2011-11-11rt: Take the task lock when dropping port refcountsBrian Anderson-1/+3
Sucks, but otherwise there are races when one task drops the refcount to zero followed by another bumping it again
2011-11-11rt: Remove drop_port. UnusedBrian Anderson-4/+0
2011-11-11rt: Remove rust_chanBrian Anderson-9/+4
2011-11-10rt: Move rust_chan::send to rust_port::sendBrian Anderson-1/+1
2011-11-10rt: Remove del_chan, take_chan, drop_chan. UnusedBrian Anderson-17/+0
2011-11-10rt: Simplify channel-port associationBrian Anderson-3/+2
It turns out that there's only ever a single channel per port these days, and it always has the same lifetime as the port, so we don't need a list or a complex association protocol.
2011-11-10rt: Remove new_chan. Not neededBrian Anderson-12/+0
2011-11-10rt: Remove chan_send. Unused.Brian Anderson-5/+0
2011-11-08Make task_sleep an intrinsic.Brian Anderson-6/+10
2011-11-08rt: Remove task_yield builtinBrian Anderson-6/+0
This is just a special case of task_sleep
2011-10-26Remove task::join_idBrian Anderson-26/+0
This is the old, racy way of joining to a task. It is no longer used.
2011-10-24move sys fns into c-stack-cdecl and get_type_desc() into rustiNiko Matsakis-6/+1
there is one test failure, stdtest/sys.rs, which inexplicably (thus far) fails to compile because it invokes sys::rustrt::last_os_error() instead of invoking sys::last_os_error(). If stdtest/sys.rs is updated to invoke the wrapper, it passes. Still tracing the source of this error.
2011-10-24migrate leakNiko Matsakis-1/+1
2011-10-24migrate debugging funcsNiko Matsakis-19/+11
2011-10-24move rand functions into c-stack-cdecl modeNiko Matsakis-0/+10
2011-10-24move fs routines to c-stack-stdlibNiko Matsakis-3/+3
2011-10-24rip out unused task pointersNiko Matsakis-2/+2
2011-10-24move comm functions out of rust abiNiko Matsakis-1/+0
2011-10-21add get_type_desc function to libraryNiko Matsakis-0/+5
2011-10-20Get rid of taskpointer-passing throughout the compilerMarijn Haverbeke-3/+3
Only intrinsics still take a dummy taskptr. We'll have to do some makefile stunts to snapshot a version without taskptrs-in-intrinsics. Issue #466
2011-10-20Do not pass taskpointers to "rust" native functionsMarijn Haverbeke-76/+54
Issue #466
2011-10-20Remove spawn_wrap and main_wrap kludgesMarijn Haverbeke-2/+7
This isn't needed now that our functions are cdecl (and was apparently only still working by accident). Issue #992
2011-10-03rt: Make the builtins no longer take an explicit task parameterPatrick Walton-59/+98
2011-09-26rt: Make the logic that moves environments between tasks update the GC alloc ↵Patrick Walton-2/+2
chain correctly
2011-09-22Remove is_stateful flag from tydesc. Closes #136Brian Anderson-2/+2
2011-09-20rt: Rename rand() to isaac_rand() since the former prevents lots of standard ↵Patrick Walton-1/+1
headers from being included
2011-09-20Revert "rt: Rename rust_box to rust_box_legacy, as they're about to become ↵Patrick Walton-7/+6
self-describing" This reverts commit f6871e832c6d79d54f274d4ef4513c087ea7e36b.
2011-09-16Yield after sendBrian Anderson-0/+1
2011-09-16rt: Rename rust_box to rust_box_legacy, as they're about to become ↵Patrick Walton-6/+7
self-describing
2011-09-11Remove hack_allow_leaksBrian Anderson-7/+0
Happy to close the loop on this one. Issue #236
2011-09-09Get rid of some unused upcallsMarijn Haverbeke-3/+1
I guess these became obsolete when the communication stuff moved into the stdlib.
2011-09-07Rewrite spawn yet againBrian Anderson-9/+15
The motivation here is that the bottom of each stack needs to contain a C++ try/catch block so that we can unwind. This is already the case for main, but not spawned tasks. Issue #236
2011-09-02Add a rust_str typedef to the runtime. Issue #855Brian Anderson-8/+8
2011-09-02Rename istr-stuff to str in the runtime. Issue #855Brian Anderson-5/+5
2011-09-02Eliminate const_refcount. Issue #855Brian Anderson-6/+1
2011-09-02Remove estrs and evecs from runtime. Issue #855Brian Anderson-72/+3
2011-09-01Convert rust_list_files to istrs. Issue #855Brian Anderson-20/+21
2011-09-01Convert rust_getcwd to istrs. Issue #855Brian Anderson-13/+2
2011-09-01Convert rust_file_is_dir from estrs to cstrs. Issue #855Brian Anderson-2/+2
2011-09-01Check error code in rust_file_is_dir. Prevent comparison of uninitialized memBrian Anderson-1/+3
2011-09-01Remove a bunch of string builtins. Issue #855Brian Anderson-82/+0
2011-08-31Expose STDERR to rust.Erick Tryzelaar-0/+1
2011-08-29Make std::istr::push_byte efficientMarijn Haverbeke-0/+9
It used to allocate two (!) heap values per pushed byte. It now goes through a runtime function that simply grows the istr and writes the byte.
2011-08-29Factor vector reserve code in runtime into its own functionMarijn Haverbeke-7/+1
2011-08-29Implement non-internal ivecsMarijn Haverbeke-177/+45
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-19rt: Remove rustboot's GC infrastructurePatrick Walton-1/+1
2011-08-18Rename rust_vec to rust_evecBrian Anderson-5/+5