Parent: #465 Related: #491, #705, #707, #708
Problem
Plain, generator, async, and async-generator bytecode can read and call super properties, but rejects direct assignment, logical assignment, compound assignment, and prefix/postfix updates. Falling back makes otherwise supported methods tier-dependent and leaves resumable computed keys/RHS expressions outside the VM.
A SuperReference must be resolved once. The current home-object parent and computed property key cannot be recomputed after a getter, coercion, RHS, yield, or await mutates observable state.
Scope
- Add receiver-aware bytecode primitives that capture the exact SuperReference base and property key once.
- Lower named and computed direct writes,
&&=/||=/??=, every compound operator, and prefix/postfix++/--. - Preserve GetThisBinding/GetSuperBase/key coercion/GetValue/RHS/PutValue order, strict failed-write TypeErrors, inherited setter receivers, BigInt updates, and expression results.
- Preserve the captured base/key across generator, async, and async-generator suspension.
- Cache exact unsupported native-tier plans and retain interpreter fallback for code shapes outside the native tiers.
No-workaround rules
- No repeated base/key evaluation, widened runtime checks, source rewriting, broad method fallback, ignored failed writes, or benchmark-only paths.
- No stacks, queues, jobs, Promise/microtask, Worker lifecycle, or Map/Set iterator changes.
Acceptance
- Plain, generator, async, and async-generator tier differentials cover named/computed direct, logical, compound, and update writes.
- Abrupt-order witnesses cover uninitialized
this, null super base, key coercion, getters/setters, prototype mutation, strict failed writes, BigInt, yield, and await. - Focused compiler/VM/frontend, full units, relevant Test262, and applicable TSan gates pass with exact accounting.
- Commit and parent issues are cross-linked with quantified evidence.