Parent: #433\nBlocks: #429\n\nAdd real optimizer call-link metadata and concurrency-safe publication for call operations. Profiles remain advisory: every installed direct target must be revalidated at link time, guarded at use, and replaced/reset as one coherent record.\n\n## Acceptance\n\n- [x] Represent callee identity, target artifact generation, and entry as one immutable published record.\n- [x] Make concurrent slow-path writers converge without torn or lost publication.\n- [x] Revalidate the callee and target generation immediately before installation.\n- [x] Retire replaced call-link records through the owning artifact epoch.\n- [x] Preserve rooted runtime fallback, side exits, exceptions, and tail-call semantics.\n- [x] Add writer/writer, reset/read, no-GIL, and TSan evidence.\n
JIT: publish optimizer call-link records atomically
#455Complete in fdb2794 with documentation/evidence in 472920f. Every optimizer call operation owns an inline versioned call-link tuple; concurrent writers/resetters cannot publish a torn callee/generation/artifact record. Hits revalidate the live target tier generation and exact artifact, while misses retain rooted runtime fallback and existing exception/tail/side-exit behavior. The tuple retires with its artifact epoch. Writer/writer/reset focused normal/TSan gates pass 2/2, the real optimizer call witness passes 3/3 in both modes, and the complete JIT gate passes 171/171 in both modes.
Sign in to comment on this issue.