Skip to content

Feat: N-12b regions for unbounded virtual objects (#268) - #298

Merged
b-re-w merged 3 commits into
developfrom
feat/tp-region
Oct 25, 2026
Merged

b-re-w merged 3 commits into
developfrom
feat/tp-region

Conversation

@b-re-w

@b-re-w b-re-w commented Oct 25, 2026

Copy link
Copy Markdown
Member

Pure hosts such as check(make(d)) build the tree in a per-site region of C structs (no PyObject: invisible to gc, tracemalloc, id and other threads) through internal entry points with no Python name; the Python-visible make/check still build real objects. Verifier recomputes region classes/producers/consumers/hosts (forged -> verify/region-escape). Freed on every exit edge; allocation failure deopts so the interpreter raises MemoryError; every region field read keeps the per-access class check (a signal handler installing a property deopts; mutant without it fails). Decisions recorded in SPEC N-12b (known differences: MemoryError threshold, tracemalloc peak). benchmarks/typedpython/py/binary_trees_region.py added; binary_trees.py unchanged; compiled set of existing benchmarks unchanged.

Closes #268

@b-re-w
b-re-w merged commit 2103f93 into develop Oct 25, 2026
@b-re-w
b-re-w deleted the feat/tp-region branch October 25, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant