Skip to content

JIT: specialize inherited properties with concurrent watchpoints #457

Description

@chrisbbreuer

Parent: #456
Blocks: #429
Roadmap: #146, #134

Goal

Implement optimizer-visible prototype-chain property specialization and mutation watchpoints so the exact PR-249 GC-wait-vs-Class-A witnesses execute a real inherited-property assumption, jettison it through the shared JIT/GC conductor, and resume correctly.

Acceptance

  • Profile the receiver and exact prototype holder for inherited named data-property reads without source recognition.
  • Publish immutable receiver/chain/holder shape guards and the holder slot in optimizer-owned metadata.
  • Execute the guarded inherited read natively; accessors, proxies, dictionary/exotic objects, chain changes, and misses take the canonical path without replay.
  • Register shape/prototype dependencies and fire Class-A invalidation only for mutations that can invalidate a published assumption.
  • Preserve exact roots, steps, deoptimization, moving-GC relocation, generation checks, and concurrent mutation semantics.
  • Add native-on/off differentials for monomorphic and polymorphic inherited reads, shadowing, replacement, deletion, prototype replacement, accessors, and GC.
  • Promote cve/mc-safe-gcwait-vs-classa-stop.js and cve/mc-safe-gcwait-vs-classa-stop-noropevariant.js only when normal and TSan runs prove both cooperative collection and Class-A invalidation occurred.
  • Pass focused normal/TSan gates and the batched JIT/no-GIL/full-unit release gates required by the parents.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions