Parents: #475, #479 Related: #460, #461, #493, #603, #604
Problem
IntlDisplayNamesData already stores style, kind, fallback, and languageDisplay as closed native enums. Intl.DisplayNames.prototype.resolvedOptions() converts those enums back to byte slices and allocates fresh managed StringCells for every result object.
Unlike the already measured Collator, DurationFormat, DateTimeFormat, and NumberFormat reflection paths, DisplayNames has no dedicated committed resolved-options workload. This issue is benchmark-first so the observable work and checksum are frozen before the runtime changes.
Scope
- Add a representative DisplayNames resolved-options row that reuses the existing eight immutable formatter fixtures, creates a fresh result per operation, and consumes every present field, key count, spelling byte, formatter identity, and lane contribution.
- Add exact
Valueprojections for every DisplayNames Style, Kind, Fallback, and LanguageDisplay enum case using immutable static StringCells. - Keep locale dynamically owned and managed.
- Preserve ECMA-402 field presence/order, conditional languageDisplay, brand checks, constructor option observation, OOM atomicity, moving/parallel GC, and formatter output.
No-workaround rules
- Do not cache/reuse observable result objects, omit unread fields, recognize benchmark source/name, precompute scored results, or globally intern attacker-controlled strings.
- Do not touch Promise, microtask, Worker, Thread lifecycle, stacks, queues, or jobs code.
Acceptance
- Benchmark source, formatter identities, key inventory, jobs, checksum, warmup, and timed boundary land before the runtime fix.
- Each emitted enum value is the exact unmanaged static cell; locale stays managed.
- Exact cell/backing reductions match the emitted three-or-four-enum field count with identical execution, Shape requests, and checksum.
- Exact test262 DisplayNames coverage has zero flips/regressions.
- Focused normal/TSan, bounded/moving/parallel GC, OOM, and full sharded unit gates pass.
- Order-balanced timing is reported; no broad claim is made from a focused row.
Security boundary
Options and call frequency are attacker-controlled. The change must project only validated enum state and retain managed ownership for dynamic locale bytes; no mutable global cache or permissive fallback is allowed.