about summary refs log tree commit diff
path: root/src/libstd/unstable/lang.rs
AgeCommit message (Collapse)AuthorLines
2013-08-16Remove the annihilate lang itemBrian Anderson-5/+0
2013-08-15Add ToCStr method .with_c_str()Kevin Ballard-1/+1
.with_c_str() is a replacement for the old .as_c_str(), to avoid unnecessary boilerplate. Replace all usages of .to_c_str().with_ref() with .with_c_str().
2013-08-12std: Re-optimize tls access on local allocation pathBrian Anderson-7/+7
I did this once but acciddentally undid it in a later patch.
2013-08-11fix unused importsDaniel Micay-2/+1
2013-08-11move `strdup_uniq` lang item to std::strDaniel Micay-6/+0
2013-08-09auto merge of #8296 : erickt/rust/remove-str-trailing-nulls, r=ericktbors-1/+2
This PR fixes #7235 and #3371, which removes trailing nulls from `str` types. Instead, it replaces the creation of c strings with a new type, `std::c_str::CString`, which wraps a malloced byte array, and respects: * No interior nulls * Ends with a trailing null
2013-08-09Merge remote-tracking branch 'remotes/origin/master' into ↵Erick Tryzelaar-10/+7
remove-str-trailing-nulls
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-46/+12
2013-08-09std: Fix perf of local allocations in newschedBrian Anderson-10/+7
Mostly optimizing TLS accesses to bring local heap allocation performance closer to that of oldsched. It's not completely at parity but removing the branches involved in supporting oldsched and optimizing pthread_get/setspecific to instead use our dedicated TCB slot will probably make up for it.
2013-08-08Merge remote-tracking branch 'remotes/origin/master' into ↵Erick Tryzelaar-1/+1
remove-str-trailing-nulls
2013-08-07Turn on the new runtimeBrian Anderson-1/+1
2013-08-04std: replace str::as_c_str with std::c_strErick Tryzelaar-1/+2
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-9/+4
2013-08-02auto merge of #8175 : brson/rust/nodbg, r=graydonbors-2/+0
This stuff is ancient, unused, and tied to oldsched
2013-08-01A major refactoring that changes the way the runtime uses TLS. In thetoddaaro-3/+0
old design the TLS held the scheduler struct, and the scheduler struct held the active task. This posed all sorts of weird problems due to how we wanted to use the contents of TLS. The cleaner approach is to leave the active task in TLS and have the task hold the scheduler. To make this work out the scheduler has to run inside a regular task, and then once that is the case the context switching code is massively simplified, as instead of three possible paths there is only one. The logical flow is also easier to follow, as the scheduler struct acts somewhat like a "token" indicating what is active. These changes also necessitated changing a large number of runtime tests, and rewriting most of the runtime testing helpers. Polish level is "low", as I will very soon start on more scheduler changes that will require wiping the polish off. That being said there should be sufficient comments around anything complex to make this entirely respectable as a standalone commit.
2013-07-31extra: Remove dbg module and rt support codeBrian Anderson-2/+0
This stuff is ancient, unused, and tied to oldsched
2013-07-25libstd: Fix errors when rtdebug! is not a noop.Luqman Aden-2/+2
2013-07-23std and extra: use as_c_str instead of as_buf in a couple placesErick Tryzelaar-2/+2
These uses are assuming the strings are null terminated, so it should be using `as_c_str` instead of `as_buf`
2013-07-23std: move str::as_buf into StrSliceErick Tryzelaar-1/+1
2013-07-20librustc: Remove `pub extern` and `priv extern` from the language.Patrick Walton-8/+9
Place `pub` or `priv` on individual items instead.
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-24/+2
Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs
2013-07-01Refactored the runtime to view coroutines as a component of tasks, instead ↵toddaaro-0/+4
of tasks as a component of coroutines.
2013-06-30simplify the exchange allocatorDaniel Micay-17/+0
* stop using an atomic counter, this has a significant cost and valgrind will already catch these leaks * remove the extra layer of function calls * remove the assert of non-null in free, freeing null is well defined but throwing a failure from free will not be * stop initializing the `prev`/`next` pointers * abort on out-of-memory, failing won't necessarily work
2013-06-24std: Make box annihilator work with newschedBrian Anderson-13/+6
2013-06-24std: Move dynamic borrowck code from unstable::lang to rt::borrowckBrian Anderson-228/+7
2013-06-20Merge remote-tracking branch 'brson/io' into io-upstreamBrian Anderson-2/+2
Conflicts: src/rt/rust_builtin.cpp src/rt/rustrt.def.in
2013-06-21libstd: cleanup warningsJames Miller-14/+2
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-7/+7
2013-06-16Merge remote-tracking branch 'brson/io'Brian Anderson-2/+2
Conflicts: src/libstd/rt/comm.rs src/libstd/rt/mod.rs src/libstd/rt/sched.rs src/libstd/rt/task.rs src/libstd/rt/test.rs src/libstd/rt/tube.rs src/libstd/rt/uv/uvio.rs src/libstd/rt/uvio.rs src/libstd/task/spawn.rs
2013-06-10debugged a compiler ICE when merging local::borrow changes into the main io ↵toddaaro-2/+2
branch and modified the incoming new file lang.rs to be api-compatible
2013-06-10std: convert str::reserve* to methods, and methodise str::push_*.Huon Wilson-3/+3
2013-06-09std: add reverse vec iterators, replace vec::each*_reverse.Huon Wilson-1/+2
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+420
This only changes the directory names; it does not change the "real" metadata names.