+34
−6
Loading
Bug 1735296 - Part 5: Add a result value for TraceWeakEdge that encapsulates all relevant information r=sfink This is intended to be a simple as possible so that compilers can optimise away the bits that aren't used after inlining. The result value includes the edge state before and after update and there are runtime checks that you only use the right one, depending on whether the edge was removed or not. The signature of TraceWeakEdge changes to allow any barriered type because in practice we have weak edges that are no WeakHeapPtr in cases where we don't want the read barrier (e.g. WeakMap keys). Differential Revision: https://phabricator.services.mozilla.com/D128261