Skip to content

Conformance: promote the 10 optimizing-JIT PR-249 cases #429

Description

@chrisbbreuer

Parent: #143
Depends on: #146, #132, #133
Roadmap: #134

Ten pinned PR-249 executables exercise optimized-tier trap polling, code/call-link artifact lifetime, retirement/jettison, stale-base invalidation, Class-A GC stops, value-profile publication, compile counters, and IC dictionary transitions. They remain blocked until real optimizing-tier behavior exists; shell stubs or unconditional counters are not promotion.

Exact scope and owners

Acceptance

  • Pin the exact 10-file list and map every hook/premise to a concrete JIT: build the optimizing tier with deoptimization and precise GC #146 subsystem and test owner.
  • Implement trap polling/invalidation and resumable optimized execution used by the corpus.
  • Implement code artifact, call-link, IC, retirement, jettison, and compile-count semantics through the real optimizing tier.
  • Preserve GC stack maps, deoptimization, concurrent invalidation, exception edges, and interpreter/baseline fallback.
  • Replace JSC-only option spellings with explicit profile mappings only where semantics are equivalent.
  • Promote each case only after default/no-GIL differential and sanitizer evidence passes.
  • Update the PR-249 inventory and exact runtime totals without hidden skips.

Current checkpoint

The verifier still reports 243 promoted, 10 optimizer-blocked, and 6 terminal executables out of 259. The real optimizer now has exact terminal side exits, invalidation-polled loop OSR, precise live relocation (#437 complete), region-scoped conditional-exit chains, sequential shared joins, shared/independent latches, and conditional continue chains with three or more backedges through 48bfe60/b80e81f7/3d78eaf2, including general reducible and fused nested-loop regions. Exact termination checkpoints, statement-hook fallback, and fail-closed irreducible control are covered. The latest combined optimizer TSan gate passes 42/42 lowering and 80/80 runtime/context tests.

The corpus remains blocked on #132/#133 native property/array regions, #433 call-link/IC retirement and Class-A stop semantics, backend evidence, and explicit hook/profile promotion. No fake compile counters or shell stubs are exposed. Benchmark scores are unchanged because the published workloads do not use this new CFG shape.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions