diff options
| author | bors <bors@rust-lang.org> | 2013-02-14 18:27:54 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-02-14 18:27:54 -0800 |
| commit | 20fd0c53edd2cc5ef5d413b8698b2c5860aa4926 (patch) | |
| tree | 6b3d2071563a7d64e8bd2bb24bc988f480cd8f08 /src/rt/rust_exchange_alloc.cpp | |
| parent | af2f0ef0888d05209bddd16ab210ae0e8400b7de (diff) | |
| parent | 1a41b484bf05514f469e69efd56fcd7039d34db9 (diff) | |
| download | rust-20fd0c53edd2cc5ef5d413b8698b2c5860aa4926.tar.gz rust-20fd0c53edd2cc5ef5d413b8698b2c5860aa4926.zip | |
auto merge of #4938 : thestinger/rust/no_zero, r=brson
I removed the unused wrappers methods named `calloc` because they relied on the malloc wrapper having a `bool zero = true` default parameter (which resulted in some accidental zeroing). Perhaps wrapping the actual calloc function would be useful, but I don't know of an existing use case that could use it so I just removed these. This gives an ~1% performance improvement for TreeMap, which does a lot of small allocations. Vectors use `realloc` which didn't zero before these changes so there's no measurable change in performance.
Diffstat (limited to 'src/rt/rust_exchange_alloc.cpp')
| -rw-r--r-- | src/rt/rust_exchange_alloc.cpp | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/rt/rust_exchange_alloc.cpp b/src/rt/rust_exchange_alloc.cpp index 6c0204ca736..a92bc4edd41 100644 --- a/src/rt/rust_exchange_alloc.cpp +++ b/src/rt/rust_exchange_alloc.cpp @@ -18,12 +18,9 @@ uintptr_t exchange_count = 0; void * -rust_exchange_alloc::malloc(size_t size, bool zero) { +rust_exchange_alloc::malloc(size_t size) { void *value = ::malloc(size); assert(value); - if (zero) { - memset(value, 0, size); - } sync::increment(exchange_count); @@ -31,11 +28,6 @@ rust_exchange_alloc::malloc(size_t size, bool zero) { } void * -rust_exchange_alloc::calloc(size_t size) { - return this->malloc(size); -} - -void * rust_exchange_alloc::realloc(void *ptr, size_t size) { void *new_ptr = ::realloc(ptr, size); assert(new_ptr); |
