28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
|
|
# Phase 20.21 — チェックリスト(Manual Memory Management / C‑ABI)
|
|||
|
|
|
|||
|
|
開始前
|
|||
|
|
- [ ] 既定OFF/Fail‑Fast/SSOT 方針の合意
|
|||
|
|
- [ ] libc 既定/hakmem 切替は ENV のみ(実装は次)
|
|||
|
|
|
|||
|
|
実装
|
|||
|
|
- [x] hako_alloc/hako_free(libc)+ ABI名 `hako_mem_alloc/free` エイリアス
|
|||
|
|
- [ ] (任意)hako_realloc(安全に提供できる条件を満たす場合)
|
|||
|
|
- [x] HakoHandle retain/release(atomic;handle_registry 実装)
|
|||
|
|
- [ ] ENV: HAKO_C_ABI_ALLOC={libc|hakmem}
|
|||
|
|
|
|||
|
|
テスト/スモーク
|
|||
|
|
- [x] alloc→write→free 正常(cabi_mem_alloc_free_vm.sh)
|
|||
|
|
- [x] unknown handle → Fail(cabi_handle_unknown_fail_vm.sh)
|
|||
|
|
- [x] retain→release の基本(0→free)(cabi_handle_retain_release_vm.sh)
|
|||
|
|
- [ ] double free(handle)→ Fail(任意で追加)
|
|||
|
|
- [ ] (任意)ASan/Valgrind ガイド+実行
|
|||
|
|
|
|||
|
|
ドキュメント
|
|||
|
|
- [ ] abi/README.md に Memory Ownership Rules 追記
|
|||
|
|
- [ ] 失敗時の安定文言(unknown handle/double release/allocator mismatch)を明記
|
|||
|
|
|
|||
|
|
受入基準
|
|||
|
|
- [x] スモーク緑/回帰なし(quick 既定)
|
|||
|
|
- [x] ENV 既定OFFで既存経路の挙動不変(メモリAPIはC側で独立・default=libc)
|
|||
|
|
- [x] SSOTが最新の実装・CLIと一致(abi/README.md / env-variables)
|