Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
784f057
Use generator expression to get path for generated object file
res2k Aug 30, 2026
9b6a914
Improve behavior on multi-config generators
res2k Aug 30, 2026
cb5aedc
update release notes
daanx Sep 1, 2026
cc8c098
Merge branch 'dev' into dev3
daanx Sep 1, 2026
3663400
Bump the minor-and-patch group with 2 updates
dependabot[bot] Sep 1, 2026
aac7587
Bump actions/stale from 10.4.0 to 11.0.0
dependabot[bot] Sep 1, 2026
c1915b3
Bump actions/checkout from 6.1.0 to 7.0.1
dependabot[bot] Sep 1, 2026
6c45ba0
wip: initial fast detailed stats
daanx Sep 2, 2026
2dcd92a
_mi_subproc: fall back to the main subproc when tld->subproc is not y…
hosking Sep 2, 2026
7159900
improve efficient stats
daanx Sep 2, 2026
2987eba
add MI_STAT option to cmake
daanx Sep 2, 2026
2bb2714
nice stat display
daanx Sep 2, 2026
7dbb077
add os_abandoned and os_allocated stats
daanx Sep 2, 2026
b4c945e
add comments
daanx Sep 2, 2026
61cb91d
disable assertion in mi_free_try_collect_mt for now
daanx Sep 2, 2026
bc1ac97
missing comma on 32-bit
daanx Sep 2, 2026
23a5db4
prevent mi_page_associated_theap from reading a free'd theap
daanx Sep 2, 2026
27fbcd8
add option collect_merges_stats to be able disable automatic stat mer…
daanx Sep 2, 2026
0d673d1
add mi_theap_stats_merge_to_heap
daanx Sep 2, 2026
636d6b4
wip: initial design for profiling integration
daanx Sep 3, 2026
6aebb33
wip: initial design for profiling integration
daanx Sep 3, 2026
4d1a229
increase page stat updates when a profiler is active
daanx Sep 3, 2026
70af0eb
clean up guarded and profiled block handling; allow aligned blocks in…
daanx Sep 3, 2026
3d3c55b
increase test threshold for profile
daanx Sep 3, 2026
56b1a37
fix access to stale page->theap
daanx Sep 3, 2026
cb30f64
add default for MI_OPT_FREE_SMALL option
daanx Sep 3, 2026
6725ca9
avoid re-visiting full pages in mi_page_queue_find_free_ex
angelica-moreira Sep 3, 2026
7e7769c
return new expected value from collect_partly
daanx Sep 4, 2026
5eead3b
merge from dev3
daanx Sep 4, 2026
3257a7f
wip: rework profile and guarded as sampled allocations
daanx Sep 4, 2026
64955e2
wip: improve profile and guarded as sampled allocations
daanx Sep 4, 2026
e80f3f9
fix warnings and should sample check
daanx Sep 4, 2026
8e4cfbc
Merge pull request #1391 from hosking/fix-subproc-null-during-init
daanx Sep 5, 2026
542a966
avoid re-visiting full pages in mi_page_queue_find_free_ex
angelica-moreira Sep 3, 2026
866c811
return new expected value from collect_partly
daanx Sep 4, 2026
f3dbaf1
add constructor priority for gcc on non-macOS (see also #1391)
daanx Sep 5, 2026
0436ebc
better sample accounting where we account properly if the generic pat…
daanx Sep 5, 2026
ed0d501
slightly better codegen for profile==2
daanx Sep 5, 2026
e349fc3
comments
daanx Sep 5, 2026
525f2c9
fix countdown counter assertion
daanx Sep 5, 2026
2682e06
readjust sample count in case of an error
daanx Sep 5, 2026
929a7be
set default MI_PROFILE to 1
daanx Sep 5, 2026
26db822
possible fix for fine-grained proile crash
daanx Sep 5, 2026
bde3e6a
fix assertion in mi_malloc_sample
daanx Sep 5, 2026
7dec07a
don't sample the meta theap
daanx Sep 5, 2026
1e73e16
improve sample countdown check for msvc
daanx Sep 5, 2026
ab40460
improve codegen for profile==2 on arm64
daanx Sep 5, 2026
aa1e6a2
improve codegen for mi_free_small on gcc
daanx Sep 5, 2026
2520d4f
use 64-bit for total requested
daanx Sep 5, 2026
5cfedfb
improve codegen for mi_zalloc
daanx Sep 6, 2026
e37102e
faster memzero_block
daanx Sep 6, 2026
44fd9ab
update vs2022 projects
daanx Sep 6, 2026
5395895
Merge branch 'dev3-profile' of https://github.com/microsoft/mimalloc …
daanx Sep 6, 2026
35a7b47
use fast memzero on x64 as well
daanx Sep 6, 2026
282d188
cleanup mi_memzero_block
daanx Sep 7, 2026
5ed8e01
remove old block_zero
daanx Sep 7, 2026
b79d763
Merge branch 'dev3-profile' of https://github.com/microsoft/mimalloc …
daanx Sep 7, 2026
eaaed42
fix mi_memzero_block for msvc x64
daanx Sep 7, 2026
f95e0e2
guard the reset range in mi_segment_huge_page_alloc
devnexen Sep 7, 2026
f73b463
adjust sampling countdown more aggressively
daanx Sep 9, 2026
b614a94
better cmake options for MI_PROFILE, and MI_GUARDED
daanx Sep 9, 2026
d586650
rename MI_STAT to MI_STATS
daanx Sep 9, 2026
60dee63
fix guarded sampling
daanx Sep 9, 2026
fc4665d
reorganize sampling code
daanx Sep 9, 2026
d94818a
fix initialization on 32-bit
daanx Sep 9, 2026
01fe31e
improve heap_(zm)alloc codegen
daanx Sep 9, 2026
9dd0d61
fix attribute order
daanx Sep 9, 2026
c638b42
provide wsize allocation
daanx Sep 9, 2026
9c8ad51
fix attribute order
daanx Sep 10, 2026
d3ebb2b
fix profile for on_free == NULL
daanx Sep 10, 2026
2a5caea
remove wmalloc_nonnull variants
daanx Sep 10, 2026
e1bd803
use sizeof(size_t) = machine word consistently (instead of sizeof(int…
daanx Sep 10, 2026
2317ff6
use sizeof(size_t) = machine word consistently (instead of sizeof(int…
daanx Sep 10, 2026
5d2916a
fix assertion
daanx Sep 10, 2026
39f4509
theap_malloc functions can assume a non-null theap
daanx Sep 10, 2026
6590d34
add profiler heap
daanx Sep 10, 2026
e1c568d
fix c++ compilation
daanx Sep 10, 2026
2d53d6a
fix double free check without padding
daanx Sep 10, 2026
c31f719
cleanup profiler api
daanx Sep 10, 2026
8b8be2f
fix MI_DEBUG=OFF option
daanx Sep 10, 2026
48f5050
azure pipeline failure test
daanx Sep 11, 2026
ba3464b
check azure pipeline failure
daanx Sep 11, 2026
c449187
fix padding assertions
daanx Sep 11, 2026
e2a957d
fix linux compilation
daanx Sep 11, 2026
3110f3f
test azure pipeline failure
daanx Sep 11, 2026
8a8b476
test azure pipeline failure
daanx Sep 11, 2026
84f86e7
test azure pipeline failure
daanx Sep 11, 2026
ec2f2f2
test azure pipeline failure
daanx Sep 11, 2026
0fef886
test azure pipeline failure
daanx Sep 11, 2026
4f9608f
test azure pipeline failure
daanx Sep 11, 2026
2c2038b
test azure pipeline failure
daanx Sep 11, 2026
e3c2a9c
fix non-guarded build still guarding objects when MIMALLOC_GUARDED_RA…
daanx Sep 11, 2026
1148e5c
roll back azure pipeline test code
daanx Sep 11, 2026
68d4a8c
disable memzero128
daanx Sep 11, 2026
d545167
fix padding output
daanx Sep 11, 2026
d09cac6
fix alignment hint
daanx Sep 11, 2026
e4d2cc7
fix alignment hint
daanx Sep 11, 2026
209c435
fix alignment hint
daanx Sep 11, 2026
8e507df
increase portability of the memzero128 code
daanx Sep 11, 2026
ee15bb8
remove wrong assertion
daanx Sep 11, 2026
117d439
fix aligned assumption
daanx Sep 11, 2026
49600a1
enable generic memzero_block; remove rep stosb/movsb
daanx Sep 11, 2026
19c9368
improve ptr_unalign check
daanx Sep 11, 2026
6c1821d
fix 32-bit compilation warnings
daanx Sep 11, 2026
d68195c
always unalign pointers passed to mi_usable_size
daanx Sep 11, 2026
61d086f
fix urealloc_invalid test
daanx Sep 11, 2026
e35400b
gen asm for arm32 in CI
daanx Sep 11, 2026
e688ee5
check for execinfo.h
daanx Sep 11, 2026
d227b4f
Merge pull request #1394 from devnexen/segment_cal_fix
daanx Sep 11, 2026
1fa2fd9
update release notes
daanx Sep 1, 2026
3309f1f
merge from dev
daanx Sep 11, 2026
439dc27
associate process init theap with thread-done key, pr #1393
daanx Sep 11, 2026
7dfe051
Merge pull request #1390 from microsoft/dependabot/github_actions/act…
daanx Sep 11, 2026
1aae212
Merge pull request #1389 from microsoft/dependabot/github_actions/act…
daanx Sep 11, 2026
f2eb4bd
Merge pull request #1388 from microsoft/dependabot/github_actions/min…
daanx Sep 12, 2026
615a436
upload arm32 asm
daanx Sep 12, 2026
d43d7c6
Merge pull request #1384 from res2k/dev3-multi-config
daanx Sep 12, 2026
cc82d81
small fixes for multi-config cmake
daanx Sep 12, 2026
bd33550
use $<LOWER_CASE instead of $<STRING:TOLOWER for better cmake compat
daanx Sep 12, 2026
4db3055
bump version to v1.15.2
daanx Sep 12, 2026
f03c543
merge from dev, bump version to v3.5.2
daanx Sep 12, 2026
636510a
fix wrong small free size alignment
daanx Sep 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ permissions:
contents: write

env:
RELEASE: Release v3.5.1
RELEASE: Release v3.5.2
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

name: Release
Expand All @@ -19,14 +19,14 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
branch: [v3.5.1, v2.5.1, v1.15.1] # [dev,dev2,dev3]
branch: [v3.5.2, v2.5.2, v1.15.2] # [dev,dev2,dev3]
# we build on the oldest ubuntu version for better binary compatibility.
os: [windows-latest, macOS-latest, macos-15-intel, ubuntu-22.04, ubuntu-22.04-arm]

steps:
# Checkout: https://github.com/actions/checkout
- name: Checkout repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ matrix.branch }}
fetch-tags: true
Expand All @@ -45,7 +45,7 @@ jobs:

# Create a release: https://github.com/softprops/action-gh-release (MIT license)
- name: Release
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
if: ${{ env.RELEASE != '' && env.RELEASE != 'no' }}
with:
name: ${{ env.RELEASE }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
with:
days-before-issue-stale: 360
days-before-issue-close: 14
Expand Down
25 changes: 16 additions & 9 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
steps:
# Checkout: https://github.com/actions/checkout
- name: Checkout repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

# Choose MI_USE_CXX setting
- name: Set default cmake options
Expand All @@ -77,7 +77,7 @@ jobs:
ctest --test-dir out/release-${{ matrix.c_or_cxx }} --verbose --timeout 240 -C Release

- name: Release, Asm
if: matrix.tests == 'basic' && runner.os == 'Linux'
if: matrix.tests == 'basic' && runner.os == 'Linux' && matrix.c_or_cxx == 'c'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ matrix.os }}-${{ matrix.c_or_cxx }}-asm
Expand Down Expand Up @@ -238,20 +238,20 @@ jobs:
- name: Debug, Guarded
if: matrix.tests == 'extra' && runner.os != 'macOS'
run: |
cmake . -B out/debug-guarded -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG=FULL -DMI_GUARDED=ON
cmake . -B out/debug-guarded -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG=FULL -DMI_GUARDED=FULL
cmake --build out/debug-guarded --parallel 8 --config Debug
ctest --test-dir out/debug-guarded --verbose --timeout 240 -C Debug
env:
MIMALLOC_GUARDED_SAMPLE_RATE: 10
MIMALLOC_GUARDED_SAMPLE_RATE: 1024

- name: Release, Guarded
if: matrix.tests == 'extra' && runner.os == 'Linux' && startsWith(github.ref_name,'dev3')
run: |
cmake . -B out/release-guarded -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_GUARDED=ON
cmake . -B out/release-guarded -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_GUARDED=FULL
cmake --build out/release-guarded --parallel 8 --config Release
ctest --test-dir out/release-guarded --verbose --timeout 240 -C Release
env:
MIMALLOC_GUARDED_SAMPLE_RATE: 10
MIMALLOC_GUARDED_SAMPLE_RATE: 128

- name: Debug, Use pagemap
if: matrix.tests == 'extra' && runner.os == 'Linux' && startsWith(github.ref_name,'dev3')
Expand Down Expand Up @@ -314,7 +314,7 @@ jobs:
# VM: FreeBSD (arm64 and x64)
- name: FreeBSD arm64, Setup
if: matrix.tests == 'freebsd-arm64'
uses: vmactions/freebsd-vm@83b151f58c6047089f4c80eb5ba2039d158ce093 # v1.5.3
uses: vmactions/freebsd-vm@f0552d3b69211736abd97f02ff3d4674c56b73b1 # v1.5.5
with:
arch: arm64
custom-shell-name: freebsd-arm64
Expand Down Expand Up @@ -353,7 +353,7 @@ jobs:

- name: FreeBSD x64, Setup
if: matrix.tests == 'freebsd-x64'
uses: vmactions/freebsd-vm@83b151f58c6047089f4c80eb5ba2039d158ce093 # v1.5.3
uses: vmactions/freebsd-vm@f0552d3b69211736abd97f02ff3d4674c56b73b1 # v1.5.5
with:
arch: x86_64
usesh: true
Expand Down Expand Up @@ -509,10 +509,17 @@ jobs:
if: matrix.tests == 'alpine-arm32'
shell: alpine-arm32.sh {0}
run: |
cmake . -B out/release-arm32 -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON
cmake . -B out/release-arm32 -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_SEE_ASM=ON
cmake --build out/release-arm32 --parallel 4 --config Release
ctest --test-dir out/release-arm32 --verbose --timeout 240 -C Release

- name: Alpine arm32, Asm
if: matrix.tests == 'alpine-arm32'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: alpine-arm32-c-asm
path: out/release-arm32/CMakeFiles/mimalloc-static.dir/src/*.s

- name: Alpine arm32, Secure
if: matrix.tests == 'alpine-arm32'
shell: alpine-arm32.sh {0}
Expand Down
Loading
Loading