mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-08 00:09:31 +03:00
merge from dev
This commit is contained in:
commit
64f3afdda4
6 changed files with 16 additions and 9 deletions
|
@ -258,6 +258,7 @@ if(MI_DEBUG_UBSAN)
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
||||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
message(STATUS "Build with undefined-behavior sanitizer (MI_DEBUG_UBSAN=ON)")
|
message(STATUS "Build with undefined-behavior sanitizer (MI_DEBUG_UBSAN=ON)")
|
||||||
|
list(APPEND mi_defines MI_UBSAN=1)
|
||||||
list(APPEND mi_cflags -fsanitize=undefined -g -fno-sanitize-recover=undefined)
|
list(APPEND mi_cflags -fsanitize=undefined -g -fno-sanitize-recover=undefined)
|
||||||
list(APPEND mi_libraries -fsanitize=undefined)
|
list(APPEND mi_libraries -fsanitize=undefined)
|
||||||
if (NOT MI_USE_CXX)
|
if (NOT MI_USE_CXX)
|
||||||
|
|
|
@ -112,7 +112,7 @@ jobs:
|
||||||
CC: clang
|
CC: clang
|
||||||
CXX: clang++
|
CXX: clang++
|
||||||
BuildType: debug-tsan-clang-cxx
|
BuildType: debug-tsan-clang-cxx
|
||||||
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_USE_CXX=ON -DMI_DEBUG_TSAN=ON
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMI_USE_CXX=ON -DMI_DEBUG_TSAN=ON
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
|
|
|
@ -584,6 +584,7 @@ mi_decl_nodiscard void* mi_new_reallocn(void* p, size_t newcount, size_t size) {
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
void* _mi_externs[] = {
|
void* _mi_externs[] = {
|
||||||
(void*)&_mi_page_malloc,
|
(void*)&_mi_page_malloc,
|
||||||
|
(void*)&_mi_page_malloc_zero,
|
||||||
(void*)&_mi_heap_malloc_zero,
|
(void*)&_mi_heap_malloc_zero,
|
||||||
(void*)&_mi_heap_malloc_zero_ex,
|
(void*)&_mi_heap_malloc_zero_ex,
|
||||||
(void*)&mi_malloc,
|
(void*)&mi_malloc,
|
||||||
|
|
|
@ -13,8 +13,6 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#include "bitmap.h"
|
#include "bitmap.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct mi_arena_s mi_arena_t;
|
|
||||||
|
|
||||||
// Minimal exports for arena-abandoned.
|
// Minimal exports for arena-abandoned.
|
||||||
size_t mi_arena_id_index(mi_arena_id_t id);
|
size_t mi_arena_id_index(mi_arena_id_t id);
|
||||||
mi_arena_t* mi_arena_from_index(size_t idx);
|
mi_arena_t* mi_arena_from_index(size_t idx);
|
|
@ -62,7 +62,7 @@ static mi_decl_cache_align _Atomic(mi_arena_t*) mi_arenas[MI_MAX_ARENAS];
|
||||||
static mi_decl_cache_align _Atomic(size_t) mi_arena_count; // = 0
|
static mi_decl_cache_align _Atomic(size_t) mi_arena_count; // = 0
|
||||||
|
|
||||||
#define MI_IN_ARENA_C
|
#define MI_IN_ARENA_C
|
||||||
#include "arena-abandoned.c"
|
#include "arena-abandon.c"
|
||||||
#undef MI_IN_ARENA_C
|
#undef MI_IN_ARENA_C
|
||||||
|
|
||||||
/* -----------------------------------------------------------
|
/* -----------------------------------------------------------
|
||||||
|
|
|
@ -25,14 +25,21 @@ terms of the MIT license.
|
||||||
// > mimalloc-test-stress [THREADS] [SCALE] [ITER]
|
// > mimalloc-test-stress [THREADS] [SCALE] [ITER]
|
||||||
//
|
//
|
||||||
// argument defaults
|
// argument defaults
|
||||||
#if !defined(MI_TSAN)
|
#if defined(MI_TSAN) // with thread-sanitizer reduce the threads to test within the azure pipeline limits
|
||||||
static int THREADS = 32; // more repeatable if THREADS <= #processors
|
|
||||||
#else // with thread-sanitizer reduce the defaults for azure pipeline limits
|
|
||||||
static int THREADS = 8;
|
static int THREADS = 8;
|
||||||
#endif
|
static int SCALE = 25;
|
||||||
|
static int ITER = 200;
|
||||||
|
#elif defined(MI_UBSAN) // with undefined behavious sanitizer reduce parameters to stay within the azure pipeline limits
|
||||||
|
static int THREADS = 8;
|
||||||
|
static int SCALE = 25;
|
||||||
|
static int ITER = 20;
|
||||||
|
#else
|
||||||
|
static int THREADS = 32; // more repeatable if THREADS <= #processors
|
||||||
static int SCALE = 25; // scaling factor
|
static int SCALE = 25; // scaling factor
|
||||||
static int ITER = 50; // N full iterations destructing and re-creating all threads
|
static int ITER = 50; // N full iterations destructing and re-creating all threads
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define STRESS // undefine for leak test
|
#define STRESS // undefine for leak test
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue