diff options
| author | bors <bors@rust-lang.org> | 2013-03-28 19:06:48 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-03-28 19:06:48 -0700 |
| commit | 7a6cd2b21e240d3b075b30d598e661b038fe6fbe (patch) | |
| tree | 3542b2ed3564cb795e567c74857bfaa696525e11 /src/libcore | |
| parent | f81459211d0cf2738ed02f5c7fe24f56c8032960 (diff) | |
| parent | aa779c1240afd0f5e46897b6ddfa55126471bf19 (diff) | |
| download | rust-7a6cd2b21e240d3b075b30d598e661b038fe6fbe.tar.gz rust-7a6cd2b21e240d3b075b30d598e661b038fe6fbe.zip | |
auto merge of #5608 : erickt/rust/incoming, r=catamorphism
@nikomatsakis pointed out that `fn read_option<T>(&self, f: &fn() -> T) -> Option<T>` should have this syntax so it can work with custom option types: `fn read_option<T>(&self, f: &fn(bool) -> T) -> T`. Also, this also includes some `#[inline(always)]` on the memory functions in `src/libcore/unstable/lang.rs` to reduce one level of indirection when allocating memory.
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/unstable/lang.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libcore/unstable/lang.rs b/src/libcore/unstable/lang.rs index 554083fcdb5..ff96029bc0e 100644 --- a/src/libcore/unstable/lang.rs +++ b/src/libcore/unstable/lang.rs @@ -64,6 +64,7 @@ pub unsafe fn fail_borrowed() { // FIXME #4942: Make these signatures agree with exchange_alloc's signatures #[lang="exchange_malloc"] +#[inline(always)] pub unsafe fn exchange_malloc(td: *c_char, size: uintptr_t) -> *c_char { transmute(exchange_alloc::malloc(transmute(td), transmute(size))) } @@ -72,11 +73,13 @@ pub unsafe fn exchange_malloc(td: *c_char, size: uintptr_t) -> *c_char { // inside a landing pad may corrupt the state of the exception handler. If a // problem occurs, call exit instead. #[lang="exchange_free"] +#[inline(always)] pub unsafe fn exchange_free(ptr: *c_char) { exchange_alloc::free(transmute(ptr)) } #[lang="malloc"] +#[inline(always)] pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char { return rustrt::rust_upcall_malloc(td, size); } @@ -85,6 +88,7 @@ pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char { // inside a landing pad may corrupt the state of the exception handler. If a // problem occurs, call exit instead. #[lang="free"] +#[inline(always)] pub unsafe fn local_free(ptr: *c_char) { rustrt::rust_upcall_free(ptr); } @@ -117,6 +121,7 @@ pub unsafe fn check_not_borrowed(a: *u8) { } #[lang="strdup_uniq"] +#[inline(always)] pub unsafe fn strdup_uniq(ptr: *c_uchar, len: uint) -> ~str { str::raw::from_buf_len(ptr, len) } |
