Skip to content

Isolate the NodeIterator stress fixture - #129

Merged
wieslawsoltes merged 1 commit into
feature/node-iteratorfrom
fix/node-iterator-stress-isolation
Sep 16, 2026
Merged

wieslawsoltes merged 1 commit into
feature/node-iteratorfrom
fix/node-iterator-stress-isolation

Conversation

@wieslawsoltes

@wieslawsoltes wieslawsoltes commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

Problem and change

The 50,000-node NodeIterator gate shared a long-lived engine with the full suite and could abort under Windows PartitionAlloc during teardown.

This test-only layer runs the unchanged 50,001-visit assertions on a fresh engine, records native DOM, wrapper-handle, and V8 heap bounds before destruction, and destroys the fixture immediately after measurement. Production runtime and allocator behavior are unchanged.

Closes #85. The equivalent test change remains in draft consolidation PR #76.

Cumulative validation

  • Implementation layer a459e0fd; exact cumulative head d84a6a6f
  • Release V8 native engine build
  • Focused DOMPurify/filter contract: 10/10 local passes
  • Isolated 50,000-node performance and memory gate: 5/5 passes at 406-437 ms wall time
  • Gate requires 50,001 visits/filter calls, zero construction-time filter calls, under 5 seconds, bounded linear scaling, at most 70,000 native nodes and wrapper handles, and at most 128 MiB V8 heap
  • Required TreeWalker/NodeIterator profile: 6/6 subtests
  • Required unchanged removal-during-filtering WPT: 4/4 subtests
  • git diff --check
  • Remote validation runs only on this cumulative top to minimize CI and artifacts

Native GitHub stack #158

  1. Implement NodeIterator for DOM traversal #127 — NodeIterator implementation (Implement NodeIterator for DOMPurify and Code OSS chat rendering #82)
  2. Isolate the NodeIterator stress fixture #129 — current cumulative top — isolated scaling and memory gate (Isolate 50k NodeIterator stress fixture from Windows PartitionAlloc suite state #85)

Merge both layers atomically through Stack #158 after the current-head related check passes.

@wieslawsoltes
wieslawsoltes force-pushed the fix/node-iterator-stress-isolation branch from f01b438 to d20e6a9 Compare September 16, 2026 10:05
@wieslawsoltes
wieslawsoltes changed the base branch from review/code-oss-node-iterator-stress-base to feature/node-iterator September 16, 2026 10:20
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.

Isolate 50k NodeIterator stress fixture from Windows PartitionAlloc suite state

1 participant