-
Notifications
You must be signed in to change notification settings - Fork 15
Comparing changes
Open a pull request
base repository: rust-lang/jemalloc
base: 3288e0659c08fb5006f6d6dd4b5675ed0c2c432a
head repository: rust-lang/jemalloc
compare: 11bfb0dcf85f7aa92abd30524bb1e42e18d108c6
- 9 commits
- 6 files changed
- 3 contributors
Commits on Mar 2, 2016
-
Configuration menu - View commit details
-
Copy full SHA for aab1c0a - Browse repository at this point
Copy the full SHA aab1c0aView commit details
Commits on Jul 8, 2016
-
Avoid getting the same default zone twice in a row.
847ff22 added a call to malloc_default_zone() before the main loop in register_zone, effectively making malloc_default_zone() called twice without any different outcome expected in the returned result. It is also called once at the beginning, and a second time at the end of the loop block. Instead, call it only once per iteration.
Configuration menu - View commit details
-
Copy full SHA for 9355bd6 - Browse repository at this point
Copy the full SHA 9355bd6View commit details -
Change how the default zone is found
On OSX 10.12, malloc_default_zone returns a special zone that is not present in the list of registered zones. That zone uses a "lite zone" if one is present (apparently enabled when malloc stack logging is enabled), or the first registered zone otherwise. In practice this means unless malloc stack logging is enabled, the first registered zone is the default. So get the list of zones to get the first one, instead of relying on malloc_default_zone.
Configuration menu - View commit details
-
Copy full SHA for e058ca6 - Browse repository at this point
Copy the full SHA e058ca6View commit details -
Configuration menu - View commit details
-
Copy full SHA for da18fef - Browse repository at this point
Copy the full SHA da18fefView commit details
Commits on Jan 18, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 515d2a0 - Browse repository at this point
Copy the full SHA 515d2a0View commit details -
Fix/refactor zone allocator integration code.
Fix zone_force_unlock() to reinitialize, rather than unlocking mutexes, since OS X 10.12 cannot tolerate a child unlocking mutexes that were locked by its parent. Refactor; this was a side effect of experimenting with zone {de,re}registration during fork(2).
Configuration menu - View commit details
-
Copy full SHA for 485c921 - Browse repository at this point
Copy the full SHA 485c921View commit details -
Don't rely on OSX SDK malloc/malloc.h for malloc_zone struct definitions
The SDK jemalloc is built against might be not be the latest for various reasons, but the resulting binary ought to work on newer versions of OSX. In order to ensure this, we need the fullest definitions possible, so copy what we need from the latest version of malloc/malloc.h available on opensource.apple.com.
Configuration menu - View commit details
-
Copy full SHA for d5a6ab5 - Browse repository at this point
Copy the full SHA d5a6ab5View commit details -
Add dummy implementations for most remaining OSX zone allocator funct…
…ions Some system libraries are using malloc_default_zone() and then using some of the malloc_zone_* API. Under normal conditions, those functions check the malloc_zone_t/malloc_introspection_t struct for the values that are allowed to be NULL, so that a NULL deref doesn't happen. As of OSX 10.12, malloc_default_zone() doesn't return the actual default zone anymore, but returns a fake, wrapper zone. The wrapper zone defines all the possible functions in the malloc_zone_t/malloc_introspection_t struct (almost), and calls the function from the registered default zone (jemalloc in our case) on its own. Without checking whether the pointers are NULL. This means that a system library that calls e.g. malloc_zone_batch_malloc(malloc_default_zone(), ...) ends up trying to call jemalloc_zone.batch_malloc, which is NULL, and crash follows. So as of OSX 10.12, the default zone is required to have all the functions available (really, the same as the wrapper zone), even if they do nothing. This is arguably a bug in libsystem_malloc in OSX 10.12, but jemalloc still needs to work in that case.
Configuration menu - View commit details
-
Copy full SHA for 62d87fc - Browse repository at this point
Copy the full SHA 62d87fcView commit details -
Merge pull request #16 from glandium/rust
Update zone allocator with various OSX 10.12 fixes
Configuration menu - View commit details
-
Copy full SHA for 11bfb0d - Browse repository at this point
Copy the full SHA 11bfb0dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 3288e0659c08fb5006f6d6dd4b5675ed0c2c432a...11bfb0dcf85f7aa92abd30524bb1e42e18d108c6