diff options
author | Lukas Larsson <[email protected]> | 2011-09-29 18:01:34 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2011-09-29 18:01:34 +0200 |
commit | beaa58d5724c4ae45a716accdeee58961a27e1d9 (patch) | |
tree | 31b3018e850b6cf3ea26cbeaab67208f1a79dcb9 /erts/emulator/beam/erl_alloc.h | |
parent | 1be1c1cb15068aed40a30210c8be34f36e38ed66 (diff) | |
parent | b75eb2e04df5ccce6f9e62c67fbf8d8a9ac8f425 (diff) | |
download | otp-beaa58d5724c4ae45a716accdeee58961a27e1d9.tar.gz otp-beaa58d5724c4ae45a716accdeee58961a27e1d9.tar.bz2 otp-beaa58d5724c4ae45a716accdeee58961a27e1d9.zip |
Merge branch 'sverker/stub-module-code-leakage' into dev
* sverker/stub-module-code-leakage:
Prevent valgrind warning for erts_alloc_permanent_cache_aligned
[erts] Fix memory leak in erts_make_stub_module (hipe loading)
Diffstat (limited to 'erts/emulator/beam/erl_alloc.h')
-rw-r--r-- | erts/emulator/beam/erl_alloc.h | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/erts/emulator/beam/erl_alloc.h b/erts/emulator/beam/erl_alloc.h index c35a60da22..80cb82c393 100644 --- a/erts/emulator/beam/erl_alloc.h +++ b/erts/emulator/beam/erl_alloc.h @@ -180,11 +180,11 @@ void *erts_realloc(ErtsAlcType_t type, void *ptr, Uint size); void erts_free(ErtsAlcType_t type, void *ptr); void *erts_alloc_fnf(ErtsAlcType_t type, Uint size); void *erts_realloc_fnf(ErtsAlcType_t type, void *ptr, Uint size); -void *erts_alloc_permanent_cache_aligned(ErtsAlcType_t type, Uint size); - #endif /* #if !ERTS_ALC_DO_INLINE */ +void *erts_alloc_permanent_cache_aligned(ErtsAlcType_t type, Uint size); + #ifndef ERTS_CACHE_LINE_SIZE /* Assume a cache line size of 64 bytes */ # define ERTS_CACHE_LINE_SIZE ((UWord) 64) @@ -250,18 +250,6 @@ void *erts_realloc_fnf(ErtsAlcType_t type, void *ptr, Uint size) size); } -ERTS_ALC_INLINE -void *erts_alloc_permanent_cache_aligned(ErtsAlcType_t type, Uint size) -{ - UWord v = (UWord) erts_alloc(type, size + (ERTS_CACHE_LINE_SIZE-1)); - - if (v & ERTS_CACHE_LINE_MASK) { - v = (v & ~ERTS_CACHE_LINE_MASK) + ERTS_CACHE_LINE_SIZE; - } - ASSERT((v & ERTS_CACHE_LINE_MASK) == 0); - return (void*)v; -} - #endif /* #if ERTS_ALC_DO_INLINE || defined(ERTS_ALC_INTERNAL__) */ typedef void (*erts_alloc_verify_func_t)(Allctr_t *); |