Repository navigation
feat(libc): implement freezero - #11848
heditrigui wants to merge 6 commits into
Conversation
|
@heditrigui thanks for |
|
@oneandonlydean Thanks! Added deallocation-time observation via the replacement allocator's release callback: captures storage into lastFreedBytes, asserting that a partial freezero(..., 40) clears bytes 0..39 while leaving the rest untouched, size 0 leaves all bytes intact, and null pointer calls leave the free count unchanged, with the whole object freed in each case. |
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
Windows result for head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release,
AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
…locf and scripting blocks
|
@maskym Good catch on the downstream hardcoded frees == 8 count in the reallocf block! Moved the freezero deallocation assertions after the reallocf and scripting test blocks so earlier counter expectations are not perturbed. |
|
Retested head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release,
AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
✅ AMD GPU test: passedPR head
Unstable on main (1, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (13, not counted against this PR)Validation IDs already present on main (4 IDs in 807 tests)Skipped (61)ReproduceAutomated build and test on a contributor's AMD machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
What
Implement
freezeroinlibcmatching FreeBSD/OpenBSD behavior to clear buffer contents before freeing, and add test coverage inApplicationHeap.cpp.Tested
Ran
python tools/check_conventions.py --base upstream/maincleanly (0 errors).Ran
python core/libs/tests/test_public_headers.py --audit-onlycleanly.Ran
python tools/progress.pyverifying progress increase (libraries 6567/13449 -> 6568/13450).Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)