| /* |
| * Define a custom assert() in order to reduce the chances of deadlock during |
| * assertion failure. |
| */ |
| #ifndef assert |
| #define assert(e) do { \ |
| if (unlikely(config_debug && !(e))) { \ |
| malloc_printf( \ |
| "<jemalloc>: %s:%d: Failed assertion: \"%s\"\n", \ |
| __FILE__, __LINE__, #e); \ |
| abort(); \ |
| } \ |
| } while (0) |
| #endif |
| |
| #ifndef not_reached |
| #define not_reached() do { \ |
| if (config_debug) { \ |
| malloc_printf( \ |
| "<jemalloc>: %s:%d: Unreachable code reached\n", \ |
| __FILE__, __LINE__); \ |
| abort(); \ |
| } \ |
| unreachable(); \ |
| } while (0) |
| #endif |
| |
| #ifndef not_implemented |
| #define not_implemented() do { \ |
| if (config_debug) { \ |
| malloc_printf("<jemalloc>: %s:%d: Not implemented\n", \ |
| __FILE__, __LINE__); \ |
| abort(); \ |
| } \ |
| } while (0) |
| #endif |
| |
| #ifndef assert_not_implemented |
| #define assert_not_implemented(e) do { \ |
| if (unlikely(config_debug && !(e))) \ |
| not_implemented(); \ |
| } while (0) |
| #endif |
| |
| |