Skip to content

Don't scan stacks without a mapping; add more GC tests - #739

Merged
titzer merged 1 commit into
masterfrom
fix_gc_and_tests
Oct 31, 2026
Merged

titzer merged 1 commit into
masterfrom
fix_gc_and_tests

Conversation

@titzer

@titzer titzer commented Oct 31, 2026

Copy link
Copy Markdown
Owner

No description provided.

NativeStack registered a GC scanner even for stacks without a mapping (e.g.
the sample in V3Offsets), whose scan() dereferenced a null range when the
stack was live during a GC (seen with -O3).

New tests:
- regress tests for GC object accesses, allocations, and casts
  (inline_access0, inline_alloc0, inline_cast0)
- 204 generated cast tests for struct hierarchies of up to 5 types, with
  final types, rec groups, unrelated hierarchies, and abstract types
  (gen_cast_display.py)
- a Wasm GC mode for the Virgil tests (test/virgil/test-gc.sh)
- GC microbenchmarks for struct/array reads and writes and subtype casts
- unittest accepts engine and compiler options; RttTestVals uses a
  non-final supertype

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@titzer
titzer merged commit 7ec44d1 into master Oct 31, 2026
15 checks passed
@titzer
titzer deleted the fix_gc_and_tests branch October 31, 2026 18:48
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