Skip to content

test262 annexB: dynamic eval() AOT limit (72) — document/scope as a known limitation #5593

Description

@proggeramlug

Measured 2026-06-23 on an internal Linux sweep host (perry 0.5.1204, node v26.3.0); persistent standing gap (the 2026-06-23 regression #5579 excluded). Split from now-closed umbrella #5346. See test-compat/test262/README.md.

72 failing (test262 @ 2026-06-23 sweep).

Top reasons

n reason
72 Error: eval() cannot run in an ahead-of-time compiled binary

Sample tests

annexB/language/eval-code/direct/func-switch-case-eval-func-block-scoping.js
annexB/language/eval-code/direct/func-switch-case-eval-func-existing-block-fn-no-init.js
annexB/built-ins/RegExp/RegExp-leading-escape-BMP.js

These all need runtime-string eval (B.3.3 sloppy block-function hoisting probed via eval), which Perry's AOT model cannot run (PERRY_ALLOW_EVAL only handles constant-string eval). Decision needed: document as a permanent AOT limitation and _PATH_SKIP/exclude them, or pursue a bounded interpreter fallback. Likely WONTFIX → document.

Measure

scripts/test262_subset.py --root /root/test262 --dir annexB --jobs 6

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions