Parent: #473
Problem
Computed object/class property names are correctly coerced once with ToPropertyKey and stored canonically. NamedEvaluation and SetFunctionName then derive a display name from that already-coerced primitive through keyDisplayName. For a string primitive, keyDisplayName currently returns raw physical asStr bytes, so inferred function/method/accessor/field names can depend on flat Latin-1 storage.
Scope
- Read string display-name primitives through the representation-aware WTF-8 boundary.
- Route non-string display-name ToString through the canonical boundary as well.
- Preserve single ToPropertyKey coercion, Symbol description formatting, accessor prefixes, class element evaluation order, and storage-key identity.
- Cover computed object data properties/accessors and computed class methods/fields with one exact-coercion witness under canonical and forced-flat storage.
This issue does not touch promises, jobs, queues, workers/threads, or Map/Set iterators.
Acceptance
- Latin-1 computed names round-trip exactly in Function.name for object/class methods, accessors, and anonymous field/data-property initializers.
- An object-valued computed key is coerced once per syntactic occurrence.
- Focused Debug, ReleaseSafe, and TSan tests pass, including forced-flat storage.
- Full sharded units report zero failures and zero leaks.
- Test262 language/expressions/object (1170 files) and language/statements/class/elements (1534 files) are measured before and after with exact flips.