<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in infallible_new.cpp</title>
    <link>http://nxr.netbsd.org/rss/src/external/bsd/jemalloc/dist/test/integration/cpp/infallible_new.cpp</link>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2005</copyright>
    <generator>Java</generator>
    
<item>
    <title>branches:  1.1.1;<br/>Initial revision</title>
    <description>/src/external/bsd/jemalloc/dist/test/integration/cpp/infallible_new.cpp - 1.1</description>
    <pubDate>Thu Sep 24 18:28:52 UTC 2026</pubDate>
    <dc:creator>christos</dc:creator>
</item>

<item>
    <title>Import jemalloc 5.4.0 (previous was 5.3.1)<br/><br/>* 5.4.0 (Sep 17, 2026)<br/><br/>This release contains over 160 commits, focusing on the technical debts<br/>cleaning including refactorings, bug fixes, test coverage improvement, and<br/>option cleanups.  The release also includes portability improvements per<br/>upstream issues report.<br/><br/>New features:<br/>  - Add `EXTENT_ALLOC_FLAG_PINNED` so custom extent-allocation hooks can<br/>    mark non-reclaimable mappings, such as HugeTLB pages, for preferential<br/>    reuse outside the decay and purge pipeline.  Add the mallctl interfaces<br/>    `stats.pinned`, `stats.arenas.&lt;i&gt;.pinned`,<br/>    `stats.arenas.&lt;i&gt;.extents.&lt;j&gt;.npinned`,<br/>    `stats.arenas.&lt;i&gt;.extents.&lt;j&gt;.pinned_bytes`, and<br/>    `stats.arenas.&lt;i&gt;.mutexes.extents_pinned.{counter}` to report<br/>    pinned-memory usage and mutex statistics.  (@binliu19: be2de8cc)<br/>  - Allow resuming per-CPU arena selection via `thread.arena`.<br/>    (@algunenano: 68c35f65)<br/>  - Better align the contents of human-readable and JSON malloc statistics.<br/>    (@spredolac: 68fe1be1, 30b1a410, 04aad97f)<br/>  - Replace the runtime `experimental_infallible_new` option with the<br/>    compile-time `--enable-cxx-infallible-new` option, enabling<br/>    compiler-level optimizations and optimization in move constructors,<br/>    and fix the `new(std::nothrow)` contract (@spredolac: 160ab9d7, fe336672)<br/><br/>Incompatible changes:<br/>  - Adapt tcache fill and retention targets per bin to demand observed<br/>    between GC events, replacing the fixed refill/flush policy.  Remove<br/>    seven legacy non-experimental controls: `lg_tcache_nslots_mul`,<br/>    `tcache_nslots_small_min`, `tcache_nslots_small_max`,<br/>    `tcache_nslots_large`, `tcache_gc_delay_bytes`,<br/>    `lg_tcache_flush_small_div`, and `lg_tcache_flush_large_div`.<br/>    Corresponding `malloc_conf` settings are silently ignored, matching<br/>    `opt.*` mallctls return ENOENT, and `tcache_ncached_max` remains<br/>    supported.  (@spredolac: d13fe91a)<br/><br/>Bug fixes:<br/>  - Preserve `errno` across `free`, `free_sized`, and `free_aligned_sized`,<br/>    and across `process_madvise`-based page purging.  (@spredolac: 3a779661,<br/>    86f05828)<br/>  - Fix numeric overflow checks in size classes.  (@spredolac: 6b245225)<br/>  - Accept NULL in `free_sized()` and `free_aligned_sized()` (C23<br/>    correctness).  (@bigbruno: 7ce8b916)<br/>  - Fix TSD lifecycle edge cases by 1) initializing thread-cache bins before<br/>    marking the cache enabled, preventing reentrant bootstrap allocations<br/>    from using uninitialized state, and 2) avoiding TSD recreation for late<br/>    deallocations after thread teardown on generic-TSD platforms.<br/>    (@fzakaria: 54f22c83, @spredolac: fb5499aa)<br/>  - Use `O_CLOEXEC` when opening the THP sysfs file in `init_thp_state`.<br/>    (@ibookstein: d0705543)<br/>  - Fix duplicate `opt.stats_print` and `opt.stats_print_opts` fields in<br/>    `malloc_stats_print` output.  (@spredolac: dfe3a2ed)<br/>  - Fix a potential deadlock during `arena_reset`.  (@guangli-dai: 6957341f)<br/>  - Fix a prof-sampling / guard-page interaction bug in the SAN.  (@gctony:<br/>    e36a0fa5)<br/><br/>Optimizations and refactors:<br/>  - Modularize jemalloc's front end by extracting arena management,<br/>    initialization, fork orchestration, and allocation dispatch from<br/>    `jemalloc.c`; untangle tcache/arena ownership; and consolidate the<br/>    internal header graph to eliminate circular dependencies.  (@spredolac:<br/>    ba1e2fe4, 88745978, 9d757223, de9ad145, ...)<br/>  - Simplify ctl dispatch by refactoring arena helpers, internalizing an<br/>    implementation-only control, replacing control-flow macros with typed<br/>    helpers, and organizing `ctl.c` by subsystem.  (@spredolac: 9e143468,<br/>    901365d4, 4e903a0a, 5bc8d6e9)<br/>  - Cap the base-block growth heuristic to avoid virtual-memory exhaustion<br/>    under rare racy conditions.  (@guangli-dai: 2f4db8cf)<br/>  - Move background-thread lifecycle and state operations into the<br/>    background-thread module, clarifying ownership independently of PAC/HPA<br/>    callers.  (@guangli-dai: f1f07923)<br/>  - Simplify the page-allocation boundary by replacing PAI vtable dispatch<br/>    with direct PAC/HPA calls, removing the obsolete `pai_t`/`pai.h`<br/>    abstraction, and moving deferred-work and decay orchestration out of the<br/>    arena.  (@guangli-dai: 1dfa6f7a, 8edd1012, d410f43e)<br/>  - Refactor statistics collection and rendering into separate<br/>    gather/emission stages and descriptor-driven tables.  (@spredolac:<br/>    184f304d, 80c8fcb4)<br/>  - Introduce an OS abstraction layer and move platform-dependent<br/>    file/process I/O, time, synchronization, CPU, virtual-memory, atfork,<br/>    error-handling, profiling, thread-yield, and configuration-access<br/>    operations out of allocator core code.  (@guangli-dai: c4158aca,<br/>    c8e2e013, ...)<br/><br/>Portability improvements:<br/>  - Replace the `std::__throw_bad_alloc` call with standard C++ (#2900).<br/>    (@lexprfuncall: 1a15fe33)<br/>  - Make `arena_s` use a flexible array member (`bin_t all_bins[]`) for C99<br/>    or newer.  (@grueninger: 300b58b4)<br/>  - Fix rdtscp detection with `--with-lg-vaddr`.  (@xinydev: e8a0d2b4)<br/>  - Fix `malloc_getcpu` on macOS to read the current CPU number correctly.<br/>    (@algunenano: 5aabbc87)<br/>  - Use `CLOCK_MONOTONIC` for background-thread sleep to prevent<br/>    clock-rollback stalls, and detect monotonic-condvar support at configure<br/>    time.  (@antonio2368: ebacec3a, 8361239b)<br/>  - Fix compilation warnings on macOS.  (@gctony: abb0a8a0)<br/>  - Fix thread-exit TSD cleanup on MinGW builds.  (@gctony: 1e923170)<br/>  - Fix GCC 16 build warnings by removing `-Wpedantic` violations in macro<br/>    and function syntax and explicitly NUL-terminating profiling thread-name<br/>    copies to resolve `-Wstringop-truncation`.  (@grueninger: 5acdcee6,<br/>    c22d929a, @jasonangelov: 6a245e02)<br/>  - Parse PID-namespace symlinks without glibc-dependent `strtok`/`atol`,<br/>    and return identifiers as `uint64_t`.  (@guangli-dai: 278d90a5)</title>
    <description>/src/external/bsd/jemalloc/dist/test/integration/cpp/infallible_new.cpp - 1.1.1.1</description>
    <pubDate>Thu Sep 24 18:28:52 UTC 2026</pubDate>
    <dc:creator>christos</dc:creator>
</item>
</channel></rss>

