Skip to content

JIT: complete optimizer backends and publish differential evidence #434

Description

@chrisbbreuer

Parent: #146
Blocks: #147, #246
Depends on: #431, #432, #433, #132, #133

Finish every declared optimizer backend and publish the evidence needed to close #146 without overstating unsupported targets or workloads.

Acceptance

  • Implement every architecture backend in the declared supported matrix, with W^X/JIT entitlement and executable-memory failure behavior.
  • Differential-test the full supported optimizer surface against interpreter and baseline tiers, including randomized IR/guard/deopt cases.
  • Run focused normal/no-GIL/leak/sanitizer/TSan suites and publish machine-readable pass/fail/skip inventories.
  • Publish reproducible single-thread and multithread performance evidence against JavaScriptCore from committed raw artifacts.
  • Update README and detailed docs from the final committed artifacts; distinguish optimizer correctness coverage from benchmark coverage.
  • Make unsupported hosts/features fail or fall back explicitly, with no fake tier counters or shell-hook passes.

Current checkpoint

The AArch64 numeric optimizer now completes general reducible control through 48bfe60/b80e81f7/3d78eaf2: arbitrary reconvergence, internal exits, multiple latches, and fused nested loops own exact SSA copies, block-entry recovery, checkpoint accounting, and moving safepoints. The fused source gate passes 4/4 normally and 4/4 under focused TSan; the combined optimizer TSan gate is 42/42 lowering and 80/80 runtime/context tests with zero failures or leaks. Other architecture backends, randomized/broad differential inventories, and final matrix evidence remain open.

README optimizer scope was refreshed without changing benchmark scores. The committed July 17 single/multithread JSC comparison remains the current accepted performance artifact because this CFG batch does not alter its kernels or harness.

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