alexcrichton requested fitzgen for a review on PR #13860.
alexcrichton opened PR #13860 from alexcrichton:store-subtype-check-cache to bytecodealliance:main:
This is the final commit extracted from https://github.com/bytecodealliance/wasmtime/pull/13822 with some edits here. Notably:
- The cache now lives in
store/gc.rs- The cache now has a fixed maximum size after which the engine is consulted.
- The hasher used for this map is the same
NopHasherused for trace info.
alexcrichton requested wasmtime-core-reviewers for a review on PR #13860.
:thumbs_up: fitzgen submitted PR review.
:speech_balloon: fitzgen created PR review comment:
FWIW, even with inline supertype arrays, we will still need to consult the type registry in the limit: for example, when a module defines a non-final type and is checking whether another type defined outside that module (perhaps a last-minute host-defined type or a type in a module that wasn't even loaded into the engine until after the first module was instantiated) is a subtype of the non-final type.
Not sure a cache will still be worth it at that point; just noting that inline supertype arrays won't Solve All The Problems
:speech_balloon: fitzgen created PR review comment:
This shouldn't be necessary inside this GC-specific file, no?
alexcrichton updated PR #13860.
:memo: alexcrichton submitted PR review.
:speech_balloon: alexcrichton created PR review comment:
Agreed yeah, and I would agree that in that case the cache here should still get deleted. The main purpose here is to avoid horizontal scaling bottlenecks for idiomatic code, which the inline supertype arrays would solve.
alexcrichton has enabled auto merge for PR #13860.
alexcrichton added PR #13860 Cache GC subtype checks per-store to the merge queue.
:check: alexcrichton merged PR #13860.
alexcrichton removed PR #13860 Cache GC subtype checks per-store from the merge queue.
Last updated: Jul 29 2026 at 05:03 UTC