We need to update the weak pointers that are baked into IC code.
moveValue will need to propagate weakness for GuardHasGetterSetter ICs.
Differential D283930
Bug 1894937 - Trace JitCode weak refs via new JitCode::weakDataRelocTable r=jonco Authored by bthrall on Feb 18 2026, 5:54 PM. Tags None Referenced Files
Subscribers
Details
We need to update the weak pointers that are baked into IC code. moveValue will need to propagate weakness for GuardHasGetterSetter ICs.
Diff Detail
Event TimelineComment Actions Code analysis found 12 defects in diff 1207421:
WARNING: Found 12 defects (warning level) that can be dismissed.
You can run this analysis locally with:
For your convenience, here is a patch that fixes all the clang-format defects (use it in your repository with hg import or git apply -p0). If you see a problem in this automated review, please report it here. You can view these defects in the Diff Detail section of Phabricator diff 1207421. Comment Actions Looks good but see comments about TraceWeakEdge / TraceOrClearWeakEdge which applies everywhere. Sorry I changed this underneath you!
Comment Actions Thanks for the updates. I'm happy with the GC changes. Jan should look at the JIT changes though. Comment Actions This makes sense but some nits and a design question below.
Comment Actions (Reviewing Diff 1395315) Please use / reactions on inline comments to provide feedback. This will have a significant impact on the quality of future reviews.
Comment Actions This is mostly ready but we should call JitCode::traceWeakChildren only for Ion IC code. I think the bot is technically correct that we should check the return value of this call somehow, but for Ion ICs we can probably get away with this because we check the return value of TraceWeakCacheIRStub instead?
Comment Actions Rather than passing | bool weak | what do you think about adding an enum (e.g. PtrKind::Strong/Weak)? Comment Actions Another option is to add ImmWeakGCPtr that derives from ImmGCPtr and passes the bool weak = true flag to the base constructor. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||