@memlab/core 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/lib/Types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/lib/Types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseLeakFilter.rule.d.ts","sourceRoot":"","sources":["../../../src/lib/leak-filters/BaseLeakFilter.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAEtE;;;GAGG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CACb,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAAC;IAER,MAAM,CACJ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,GAC3B,YAAY,CAAC;CACjB;AAED,8BAAsB,wBACpB,YAAW,qBAAqB;IAEhC,eAAe,CAEb,OAAO,EAAE,YAAY,EAErB,SAAS,EAAE,aAAa,EAExB,cAAc,EAAE,aAAa,GAC5B,IAAI;IAIP,QAAQ,CAAC,MAAM,CACb,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,GAC3B,YAAY;CAChB"}
1
+ {"version":3,"file":"BaseLeakFilter.rule.d.ts","sourceRoot":"","sources":["../../../src/lib/leak-filters/BaseLeakFilter.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAEtE;;;GAGG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CACb,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAAC;IAER,MAAM,CACJ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,GAC3B,YAAY,CAAC;CACjB;AAED,8BAAsB,wBAAyB,YAAW,qBAAqB;IAC7E,eAAe,CAEb,OAAO,EAAE,YAAY,EAErB,SAAS,EAAE,aAAa,EAExB,cAAc,EAAE,aAAa,GAC5B,IAAI;IAIP,QAAQ,CAAC,MAAM,CACb,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,aAAa,GAC3B,YAAY;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterAttachedDOMToDetachedDOMTrace.rule.d.ts","sourceRoot":"","sources":["../../../../src/lib/trace-filters/rules/FilterAttachedDOMToDetachedDOMTrace.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,iBAAiB,EAAW,MAAM,aAAa,CAAC;AAK7D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uCACX,YAAW,oBAAoB;IAE/B,MAAM,CACJ,CAAC,EAAE,iBAAiB,EACpB,OAAO,GAAE,sBAA2B,GACnC,aAAa;CASjB"}
1
+ {"version":3,"file":"FilterAttachedDOMToDetachedDOMTrace.rule.d.ts","sourceRoot":"","sources":["../../../../src/lib/trace-filters/rules/FilterAttachedDOMToDetachedDOMTrace.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,iBAAiB,EAAW,MAAM,aAAa,CAAC;AAK7D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uCAAwC,YAAW,oBAAoB;IAClF,MAAM,CACJ,CAAC,EAAE,iBAAiB,EACpB,OAAO,GAAE,sBAA2B,GACnC,aAAa;CASjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterCppRootsToDetachedDOMTrace.rule.d.ts","sourceRoot":"","sources":["../../../../src/lib/trace-filters/rules/FilterCppRootsToDetachedDOMTrace.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,iBAAiB,EAAW,MAAM,aAAa,CAAC;AAK7D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,oCACX,YAAW,oBAAoB;IAE/B,MAAM,CACJ,CAAC,EAAE,iBAAiB,EACpB,OAAO,GAAE,sBAA2B,GACnC,aAAa;CASjB"}
1
+ {"version":3,"file":"FilterCppRootsToDetachedDOMTrace.rule.d.ts","sourceRoot":"","sources":["../../../../src/lib/trace-filters/rules/FilterCppRootsToDetachedDOMTrace.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,iBAAiB,EAAW,MAAM,aAAa,CAAC;AAK7D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,oCAAqC,YAAW,oBAAoB;IAC/E,MAAM,CACJ,CAAC,EAAE,iBAAiB,EACpB,OAAO,GAAE,sBAA2B,GACnC,aAAa;CASjB"}
@@ -14,9 +14,7 @@ declare class TraceFinder {
14
14
  }): [IHeapNode[], IHeapNode[]];
15
15
  visitReachableNodesbyDFS(snapshot: IHeapSnapshot, nodeVisitor?: Optional<Predicator<IHeapNode>>, edgeVisitor?: Optional<Predicator<IHeapEdge>>): void;
16
16
  flagReachableNodesFromWindow(snapshot: IHeapSnapshot, flags: Uint32Array, flag: number): void;
17
- private buildPostOrderIndex;
18
- private calculateDominatorNodesFromPostOrder;
19
- private calculateRetainedSizesFromDominatorNodes;
17
+ private computeDominatorsAndRetainedSizes;
20
18
  shouldIgnoreEdgeInTraceFinding(edge: IHeapEdge): boolean;
21
19
  shouldTraverseEdge(edge: IHeapEdge, snapshot: IHeapSnapshot, options?: AnyOptions): boolean;
22
20
  private shouldTraverseNodeByInternalStandard;
@@ -1 +1 @@
1
- {"version":3,"file":"TraceFinder.d.ts","sourceRoot":"","sources":["../../src/paths/TraceFinder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,SAAS,EAET,SAAS,EAET,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,cAAc,CAAC;AAetB,cAAM,WAAW;IACf,eAAe,CACb,QAAQ,EAAE,aAAa,EACvB,GAAG,GAAE;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAM,GAC/B,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC;IA0B7B,wBAAwB,CACtB,QAAQ,EAAE,aAAa,EACvB,WAAW,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC7C,WAAW,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAC5C,IAAI;IA6CP,4BAA4B,CAC1B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,GACX,IAAI;IA6CP,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,oCAAoC;IA2J5C,OAAO,CAAC,wCAAwC;IA4BhD,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAqBxD,kBAAkB,CAChB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,UAAe,GACvB,OAAO;IAYV,OAAO,CAAC,oCAAoC;IAW5C,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAsB3C,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IA6B9C,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAK9C,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAMnC,8BAA8B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAiC7D,qBAAqB,CACnB,QAAQ,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI;IA6EP,gBAAgB,CACd,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GACxB,QAAQ,CAAC,iBAAiB,CAAC;CAkB/B;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"TraceFinder.d.ts","sourceRoot":"","sources":["../../src/paths/TraceFinder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,cAAc,CAAC;AAUtB,cAAM,WAAW;IACf,eAAe,CACb,QAAQ,EAAE,aAAa,EACvB,GAAG,GAAE;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAM,GAC/B,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC;IA0B7B,wBAAwB,CACtB,QAAQ,EAAE,aAAa,EACvB,WAAW,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC7C,WAAW,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAC5C,IAAI;IA6CP,4BAA4B,CAC1B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,GACX,IAAI;IAmEP,OAAO,CAAC,iCAAiC;IAgOzC,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAqBxD,kBAAkB,CAChB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,UAAe,GACvB,OAAO;IAYV,OAAO,CAAC,oCAAoC;IAW5C,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAsB3C,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IA6B9C,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAK9C,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAMnC,8BAA8B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAmB7D,qBAAqB,CACnB,QAAQ,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI;IA6EP,gBAAgB,CACd,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GACxB,QAAQ,CAAC,iBAAiB,CAAC;CAkB/B;AAED,eAAe,WAAW,CAAC"}
@@ -122,270 +122,226 @@ class TraceFinder {
122
122
  }
123
123
  }
124
124
  }
125
- // build post order based on:
126
- // Keith D. Cooper and Timothy J. Harvey and Ken Kennedy
127
- // "A Simple, Fast Dominance Algorithm"
128
- buildPostOrderIndex(snapshot, flags) {
129
- const nodeCount = snapshot.nodes.length;
130
- const rootNodeIndex = ROOT_NODE_INDEX;
131
- const forwardEdges = snapshot.edges;
125
+ // Build the dominator tree and retained sizes using the Lengauer-Tarjan
126
+ // algorithm:
127
+ // Thomas Lengauer and Robert Endre Tarjan. 1979. A fast algorithm for
128
+ // finding dominators in a flowgraph. ACM Trans. Program. Lang. Syst. 1, 1
129
+ // (July 1979), 121-141. https://doi.org/10.1145/357062.357071
130
+ //
131
+ // This is the same near-linear, single-pass algorithm Chrome DevTools uses.
132
+ // It replaces the previous iterative Cooper-Harvey-Kennedy fix-point, which
133
+ // had two problems on real browser snapshots:
134
+ // 1. It could spin forever. The fix-point's two-finger intersect() walk
135
+ // assumes every step climbs toward the root, but the post-order that was
136
+ // assigned to orphan / weakly-reachable nodes (unreachable from the GC
137
+ // root) could violate that, producing a cycle in the provisional
138
+ // dominator pointers or a walk onto the out-of-bounds "empty" sentinel.
139
+ // The walk then never terminated -- one CPU pinned at 100% with a flat
140
+ // heap, stuck at "calculating dominators and retained sizes".
141
+ // 2. Even when it converged it needed O(graph-depth) sweeps.
142
+ //
143
+ // Lengauer-Tarjan avoids both: it assigns every node a valid DFS number,
144
+ // treats orphan and mutually-retaining "clique" nodes as retained by the
145
+ // root, and computes dominators in a single pass with no fix-point.
146
+ //
147
+ // Vertices are numbered 1..nodeCount (0 is the invalid/empty value the
148
+ // algorithm relies on); ordinal === vertex - 1 maps a vertex back to its heap
149
+ // node index.
150
+ computeDominatorsAndRetainedSizes(snapshot, flags) {
151
+ const nodes = snapshot.nodes;
152
+ const edges = snapshot.edges;
153
+ const nodeCount = nodes.length;
154
+ const flag = PAGE_OBJECT_FLAG;
155
+ // Offset of each node's first outgoing edge in the flat edge list.
132
156
  const firstEdgeIndexes = new Uint32Array(nodeCount + 1);
133
- firstEdgeIndexes[nodeCount] = forwardEdges.length;
134
- for (let nodeIndex = 0, edgeIndex = 0; nodeIndex < nodeCount; ++nodeIndex) {
135
- firstEdgeIndexes[nodeIndex] = edgeIndex;
136
- edgeIndex += snapshot.nodes.get(nodeIndex).edge_count;
157
+ firstEdgeIndexes[nodeCount] = edges.length;
158
+ for (let ordinal = 0, edgeIndex = 0; ordinal < nodeCount; ++ordinal) {
159
+ firstEdgeIndexes[ordinal] = edgeIndex;
160
+ edgeIndex += nodes.get(ordinal).edge_count;
137
161
  }
138
- const flag = PAGE_OBJECT_FLAG;
139
- const nodeStack = new Uint32Array(nodeCount);
140
- const edgeStack = new Uint32Array(nodeCount);
141
- const postOrderIndex2NodeIndex = new Uint32Array(nodeCount);
142
- const nodeIndex2PostOrderIndex = new Uint32Array(nodeCount);
143
- const visited = new Uint8Array(nodeCount);
144
- let postOrderIndex = 0;
145
- // build a DFS stack and put the root node
146
- // at the bottom of the stack
147
- let stackTopIndex = 0;
148
- nodeStack[0] = rootNodeIndex;
149
- edgeStack[0] = firstEdgeIndexes[rootNodeIndex];
150
- visited[rootNodeIndex] = 1;
151
- let iteratedOnce = false;
152
- // eslint-disable-next-line no-constant-condition
153
- while (true) {
154
- // use DFS to traverse all nodes via a stack
155
- while (stackTopIndex >= 0) {
156
- const nodeIndex = nodeStack[stackTopIndex];
157
- const edgeIndex = edgeStack[stackTopIndex];
158
- const edgesEnd = firstEdgeIndexes[nodeIndex + 1];
159
- if (edgeIndex < edgesEnd) {
160
- edgeStack[stackTopIndex]++;
161
- const edgeType = forwardEdges.get(edgeIndex).type;
162
- if (!Utils_1.default.isEssentialEdge(nodeIndex, edgeType, rootNodeIndex)) {
163
- continue;
164
- }
165
- const childNodeIndex = forwardEdges.get(edgeIndex)
166
- .toNode.nodeIndex;
167
- if (visited[childNodeIndex]) {
162
+ // A single essential-edge predicate used for BOTH the forward DFS and the
163
+ // backward retainer scan, so the two passes agree on exactly which edges
164
+ // exist. (A disagreement between them -- the forward pass omitting a filter
165
+ // the backward pass applied -- is what corrupted the old dominator relation
166
+ // and caused the hang.) Mirrors Chrome DevTools' computeIsEssentialEdge:
167
+ // skip weak edges, non-root shortcut edges, self edges, and edges from a
168
+ // non-page-owned node into a page-owned node (otherwise the debugger's own
169
+ // references would perturb product-object dominators).
170
+ const isEssential = (fromOrdinal, edgeType, toOrdinal) => {
171
+ if (fromOrdinal === toOrdinal) {
172
+ return false;
173
+ }
174
+ if (!Utils_1.default.isEssentialEdge(fromOrdinal, edgeType, ROOT_NODE_INDEX)) {
175
+ return false;
176
+ }
177
+ if (fromOrdinal !== ROOT_NODE_INDEX &&
178
+ flags[toOrdinal] & flag &&
179
+ !(flags[fromOrdinal] & flag)) {
180
+ return false;
181
+ }
182
+ return true;
183
+ };
184
+ // Lengauer-Tarjan working arrays, 1-indexed (index 0 == invalid).
185
+ const arrayLength = nodeCount + 1;
186
+ const parent = new Uint32Array(arrayLength);
187
+ const ancestor = new Uint32Array(arrayLength);
188
+ const vertex = new Uint32Array(arrayLength);
189
+ const label = new Uint32Array(arrayLength);
190
+ const semi = new Uint32Array(arrayLength);
191
+ const dom = new Uint32Array(arrayLength);
192
+ const bucket = new Array(arrayLength);
193
+ // Resumable per-node edge cursor for the iterative DFS.
194
+ const nextEdgeIndex = new Uint32Array(arrayLength);
195
+ let n = 0;
196
+ // Iterative DFS (a recursive version overflows the stack on large heaps).
197
+ const dfs = (root) => {
198
+ const rootOrdinal = root - 1;
199
+ nextEdgeIndex[rootOrdinal] = firstEdgeIndexes[rootOrdinal];
200
+ let v = root;
201
+ while (v !== 0) {
202
+ // Number v the first time it is reached.
203
+ if (semi[v] === 0) {
204
+ semi[v] = ++n;
205
+ vertex[n] = label[v] = v;
206
+ }
207
+ // The next node to visit is v's first unprocessed essential successor,
208
+ // else v's parent (backtrack).
209
+ let vNext = parent[v];
210
+ const vOrdinal = v - 1;
211
+ const edgesEnd = firstEdgeIndexes[vOrdinal + 1];
212
+ for (; nextEdgeIndex[vOrdinal] < edgesEnd; ++nextEdgeIndex[vOrdinal]) {
213
+ const edge = edges.get(nextEdgeIndex[vOrdinal]);
214
+ const wOrdinal = edge.toNode.nodeIndex;
215
+ if (!isEssential(vOrdinal, edge.type, wOrdinal)) {
168
216
  continue;
169
217
  }
170
- const nodeFlag = flags[nodeIndex] & flag;
171
- const childNodeFlag = flags[childNodeIndex] & flag;
172
- // According to Chrome devtools, need to skip the edges from
173
- // non-page-owned nodes to page-owned nodes (since debugger may
174
- // also have references to heap objects)
175
- if (nodeIndex !== rootNodeIndex && childNodeFlag && !nodeFlag) {
176
- continue;
218
+ const w = wOrdinal + 1;
219
+ if (semi[w] === 0) {
220
+ parent[w] = v;
221
+ nextEdgeIndex[wOrdinal] = firstEdgeIndexes[wOrdinal];
222
+ vNext = w;
223
+ break;
177
224
  }
178
- ++stackTopIndex;
179
- nodeStack[stackTopIndex] = childNodeIndex;
180
- edgeStack[stackTopIndex] = firstEdgeIndexes[childNodeIndex];
181
- visited[childNodeIndex] = 1;
182
- }
183
- else {
184
- // DFS is done, now build the post order based on the stack
185
- nodeIndex2PostOrderIndex[nodeIndex] = postOrderIndex;
186
- postOrderIndex2NodeIndex[postOrderIndex++] = nodeIndex;
187
- --stackTopIndex;
188
225
  }
226
+ v = vNext;
189
227
  }
190
- // If we have tried by build the stack once previously
191
- // or we have already built the post order for all nodes
192
- if (iteratedOnce || postOrderIndex === nodeCount) {
193
- break;
194
- }
195
- // Otherwise there are some nodes unreachable from
196
- // the root node
197
- if (Config_1.default.verbose) {
198
- Console_1.default.overwrite(`${nodeCount - postOrderIndex} nodes are unreachable from the root`);
228
+ };
229
+ // eval/link with path compression, iterative to avoid deep recursion.
230
+ const compressionStack = new Uint32Array(arrayLength);
231
+ const compress = (node) => {
232
+ let v = node;
233
+ let stackPointer = 0;
234
+ while (ancestor[ancestor[v]] !== 0) {
235
+ compressionStack[++stackPointer] = v;
236
+ v = ancestor[v];
199
237
  }
200
- // Now the root node has the last post order index and
201
- // the DFS stack is empty; we need to put the root node
202
- // back to the bottom of the DFS stack, traverse all the
203
- // orphan nodes with weak referrers (nodes unreachable
204
- // from the root), and make sure the root node has the
205
- // last post order index
206
- --postOrderIndex;
207
- stackTopIndex = 0;
208
- nodeStack[0] = rootNodeIndex;
209
- // skip iterating the edges of the root node
210
- edgeStack[0] = firstEdgeIndexes[rootNodeIndex + 1];
211
- for (let nodeIndex = 0; nodeIndex < nodeCount; ++nodeIndex) {
212
- if (visited[nodeIndex] ||
213
- !Utils_1.default.hasOnlyWeakReferrers(snapshot.nodes.get(nodeIndex))) {
214
- continue;
238
+ while (stackPointer > 0) {
239
+ const w = compressionStack[stackPointer--];
240
+ if (semi[label[ancestor[w]]] < semi[label[w]]) {
241
+ label[w] = label[ancestor[w]];
215
242
  }
216
- // Add all nodes that have only weak referrers
217
- // to traverse their subgraphs
218
- ++stackTopIndex;
219
- nodeStack[stackTopIndex] = nodeIndex;
220
- edgeStack[stackTopIndex] = firstEdgeIndexes[nodeIndex];
221
- visited[nodeIndex] = nodeIndex;
243
+ ancestor[w] = ancestor[ancestor[w]];
222
244
  }
223
- iteratedOnce = true;
224
- }
225
- // If we already processed all orphan nodes (nodes unreachable from root)
226
- // that have only weak referrers and still have some orphans
227
- if (postOrderIndex !== nodeCount) {
228
- if (Config_1.default.verbose) {
229
- Console_1.default.lowLevel(nodeCount - postOrderIndex + ' unreachable nodes in heap snapshot');
245
+ };
246
+ const evaluate = (v) => {
247
+ if (ancestor[v] === 0) {
248
+ return v;
230
249
  }
231
- // Now the root node has the last post order index and
232
- // the DFS stack is empty; we need to put the root node
233
- // back to the bottom of the DFS stack, traverse all the
234
- // remaining orphan nodes (nodes unreachable from the root),
235
- // and make sure the root node has the last post order index
236
- --postOrderIndex;
237
- for (let nodeIndex = 0; nodeIndex < nodeCount; ++nodeIndex) {
238
- if (visited[nodeIndex]) {
239
- continue;
250
+ compress(v);
251
+ return label[v];
252
+ };
253
+ const link = (v, w) => {
254
+ ancestor[w] = v;
255
+ };
256
+ const r = ROOT_NODE_INDEX + 1;
257
+ // Step 1: DFS from the root.
258
+ dfs(r);
259
+ // Step 2: nodes may remain unreachable from the root. First bring in
260
+ // orphans that have only weak retainers, DFS-ing from each.
261
+ if (n < nodeCount) {
262
+ for (let v = 1; v <= nodeCount; ++v) {
263
+ if (semi[v] === 0 &&
264
+ Utils_1.default.hasOnlyWeakReferrers(nodes.get(v - 1))) {
265
+ parent[v] = r;
266
+ dfs(v);
240
267
  }
241
- // give the orphan node a postorder index anyway
242
- nodeIndex2PostOrderIndex[nodeIndex] = postOrderIndex;
243
- postOrderIndex2NodeIndex[postOrderIndex++] = nodeIndex;
244
268
  }
245
- nodeIndex2PostOrderIndex[rootNodeIndex] = postOrderIndex;
246
- postOrderIndex2NodeIndex[postOrderIndex++] = rootNodeIndex;
247
- }
248
- return {
249
- postOrderIndex2NodeIndex,
250
- nodeIndex2PostOrderIndex,
251
- };
252
- }
253
- // The dominance algorithm is from:
254
- // Keith D. Cooper and Timothy J. Harvey and Ken Kennedy
255
- // "A Simple, Fast Dominance Algorithm"
256
- calculateDominatorNodesFromPostOrder(nodes, edges, postOrderInfo, flags, snapshot) {
257
- const { postOrderIndex2NodeIndex, nodeIndex2PostOrderIndex } = postOrderInfo;
258
- const nodeCount = nodes.length;
259
- const forwardEdges = edges;
260
- const firstEdgeIndexes = new Uint32Array(nodeCount + 1);
261
- firstEdgeIndexes[nodeCount] = forwardEdges.length;
262
- for (let nodeIndex = 0, edgeIndex = 0; nodeIndex < nodeCount; ++nodeIndex) {
263
- firstEdgeIndexes[nodeIndex] = edgeIndex;
264
- edgeIndex += nodes.get(nodeIndex).edge_count;
265
- }
266
- const flag = PAGE_OBJECT_FLAG;
267
- const rootPostOrderedIndex = nodeCount - 1;
268
- const emptySlot = nodeCount;
269
- const dominators = new Uint32Array(nodeCount);
270
- for (let i = 0; i < rootPostOrderedIndex; ++i) {
271
- dominators[i] = emptySlot;
272
269
  }
273
- dominators[rootPostOrderedIndex] = rootPostOrderedIndex;
274
- // flag heap objects whose referrers changed and therefore
275
- // the dominators of those heap objects needs to be recomputed
276
- const nodesWithOutdatedDominatorInfo = new Uint8Array(nodeCount);
277
- // start from the direct children of the root node
278
- let nodeIndex = ROOT_NODE_INDEX;
279
- const endEdgeIndex = firstEdgeIndexes[nodeIndex + 1];
280
- for (let edgeIndex = firstEdgeIndexes[nodeIndex]; edgeIndex < endEdgeIndex; edgeIndex++) {
281
- const edgeType = forwardEdges.get(edgeIndex).type;
282
- if (!Utils_1.default.isEssentialEdge(ROOT_NODE_INDEX, edgeType, ROOT_NODE_INDEX)) {
283
- continue;
270
+ // Step 3: whatever is still unreachable is a clique of nodes retained only
271
+ // by one another. Attach each directly under the root and give it a DFS
272
+ // number so the algorithm is well-defined for every node.
273
+ if (n < nodeCount) {
274
+ for (let v = 1; v <= nodeCount; ++v) {
275
+ if (semi[v] === 0) {
276
+ parent[v] = r;
277
+ semi[v] = ++n;
278
+ vertex[n] = label[v] = v;
279
+ }
284
280
  }
285
- const childNodeIndex = forwardEdges.get(edgeIndex).toNode
286
- .nodeIndex;
287
- nodesWithOutdatedDominatorInfo[nodeIndex2PostOrderIndex[childNodeIndex]] =
288
- 1;
289
281
  }
290
- // now iterate through all nodes in the heap
291
- let dominatorInfoChanged = true;
292
- // iterate until no dominator info changed
293
- while (dominatorInfoChanged) {
294
- dominatorInfoChanged = false;
295
- for (let postOrderIndex = rootPostOrderedIndex - 1; postOrderIndex >= 0; --postOrderIndex) {
296
- if (nodesWithOutdatedDominatorInfo[postOrderIndex] === 0) {
297
- continue;
282
+ // Step 4: main loop, processing vertices in decreasing DFS number.
283
+ for (let i = n; i >= 2; --i) {
284
+ const w = vertex[i];
285
+ const wOrdinal = w - 1;
286
+ // Compute semidominator of w from its (essential) predecessors.
287
+ let isOrphanNode = true;
288
+ nodes.get(wOrdinal).forEachReferrer((edge) => {
289
+ const vOrdinal = edge.fromNode.nodeIndex;
290
+ if (!isEssential(vOrdinal, edge.type, wOrdinal)) {
291
+ return;
298
292
  }
299
- nodesWithOutdatedDominatorInfo[postOrderIndex] = 0;
300
- // If dominator of the heap object has already been set to root node,
301
- // then the heap object's dominator can't be changed anymore
302
- if (dominators[postOrderIndex] === rootPostOrderedIndex) {
303
- continue;
304
- }
305
- nodeIndex = postOrderIndex2NodeIndex[postOrderIndex];
306
- const nodeFlag = flags[nodeIndex] & flag;
307
- let newDominatorIndex = emptySlot;
308
- let isOrphanNode = true;
309
- const node = nodes.get(nodeIndex);
310
- node.forEachReferrer((edge) => {
311
- const referrerEdgeType = edge.type;
312
- const referrerNodeIndex = edge.fromNode.nodeIndex;
313
- if (!Utils_1.default.isEssentialEdge(referrerNodeIndex, referrerEdgeType, ROOT_NODE_INDEX)) {
314
- return;
315
- }
316
- isOrphanNode = false;
317
- const referrerNodeFlag = flags[referrerNodeIndex] & flag;
318
- // According to Chrome devtools, need to skip the edges from
319
- // non-page-owned nodes to page-owned nodes (since debugger may
320
- // also have references to heap objects)
321
- if (referrerNodeIndex !== ROOT_NODE_INDEX &&
322
- nodeFlag &&
323
- !referrerNodeFlag) {
324
- return;
325
- }
326
- if (!this.shouldTraverseEdge(edge, snapshot)) {
327
- return;
328
- }
329
- let referrerPostOrderIndex = nodeIndex2PostOrderIndex[referrerNodeIndex];
330
- if (dominators[referrerPostOrderIndex] !== emptySlot) {
331
- if (newDominatorIndex === emptySlot) {
332
- newDominatorIndex = referrerPostOrderIndex;
333
- }
334
- else {
335
- while (referrerPostOrderIndex !== newDominatorIndex) {
336
- while (referrerPostOrderIndex < newDominatorIndex) {
337
- referrerPostOrderIndex = dominators[referrerPostOrderIndex];
338
- }
339
- while (newDominatorIndex < referrerPostOrderIndex) {
340
- newDominatorIndex = dominators[newDominatorIndex];
341
- }
342
- }
343
- }
344
- // no need to check any further if reaching the root node
345
- if (newDominatorIndex === rootPostOrderedIndex) {
346
- return { stop: true };
347
- }
348
- }
349
- });
350
- // set root node as the dominator of orphan nodes
351
- if (isOrphanNode) {
352
- newDominatorIndex = rootPostOrderedIndex;
293
+ isOrphanNode = false;
294
+ const u = evaluate(vOrdinal + 1);
295
+ if (semi[u] < semi[w]) {
296
+ semi[w] = semi[u];
353
297
  }
354
- if (newDominatorIndex !== emptySlot &&
355
- dominators[postOrderIndex] !== newDominatorIndex) {
356
- dominators[postOrderIndex] = newDominatorIndex;
357
- dominatorInfoChanged = true;
358
- nodeIndex = postOrderIndex2NodeIndex[postOrderIndex];
359
- const node = nodes.get(nodeIndex);
360
- for (const edge of node.references) {
361
- nodesWithOutdatedDominatorInfo[nodeIndex2PostOrderIndex[edge.toNode.nodeIndex]] = 1;
362
- }
298
+ });
299
+ // Treat an orphan as retained by the root; semi[r] is <= any other semi.
300
+ if (isOrphanNode) {
301
+ semi[w] = semi[r];
302
+ }
303
+ const semidominator = vertex[semi[w]];
304
+ if (bucket[semidominator] === undefined) {
305
+ bucket[semidominator] = new Set();
306
+ }
307
+ bucket[semidominator].add(w);
308
+ link(parent[w], w);
309
+ // Process the vertices in bucket(parent(w)).
310
+ const parentBucket = bucket[parent[w]];
311
+ if (parentBucket !== undefined) {
312
+ for (const v of parentBucket) {
313
+ const u = evaluate(v);
314
+ dom[v] = semi[u] < semi[v] ? u : parent[w];
363
315
  }
316
+ parentBucket.clear();
364
317
  }
365
318
  }
366
- const dominatorInfo = new Uint32Array(nodeCount);
367
- for (let postOrderIndex = 0, l = dominators.length; postOrderIndex < l; ++postOrderIndex) {
368
- nodeIndex = postOrderIndex2NodeIndex[postOrderIndex];
369
- dominatorInfo[nodeIndex] =
370
- postOrderIndex2NodeIndex[dominators[postOrderIndex]];
319
+ // Step 5: fill in the immediate dominators not computed explicitly above.
320
+ // The root is treated as its own dominator, which also propagates the root
321
+ // as the dominator of any unreachable node.
322
+ dom[0] = dom[r] = r;
323
+ for (let i = 2; i <= n; ++i) {
324
+ const w = vertex[i];
325
+ if (dom[w] !== vertex[semi[w]]) {
326
+ dom[w] = dom[dom[w]];
327
+ }
371
328
  }
372
- return dominatorInfo;
373
- }
374
- calculateRetainedSizesFromDominatorNodes(nodes, dominatorInfo, postOrderInfo) {
375
- const { postOrderIndex2NodeIndex } = postOrderInfo;
376
- const nodeCount = nodes.length;
329
+ // Convert to ordinal-indexed dominators and seed retained sizes with self
330
+ // sizes.
331
+ const dominatorOrdinals = new Uint32Array(nodeCount);
377
332
  const retainedSizes = new Float64Array(nodeCount);
378
- for (let nodeIndex = 0; nodeIndex < nodeCount; ++nodeIndex) {
379
- retainedSizes[nodeIndex] = nodes.get(nodeIndex).self_size;
333
+ for (let ordinal = 0; ordinal < nodeCount; ++ordinal) {
334
+ dominatorOrdinals[ordinal] = dom[ordinal + 1] - 1;
335
+ retainedSizes[ordinal] = nodes.get(ordinal).self_size;
380
336
  }
381
- // add each heap object size to its dominator
382
- // based on the post order
383
- for (let postOrderIndex = 0; postOrderIndex < nodeCount - 1; ++postOrderIndex) {
384
- const nodeIndex = postOrderIndex2NodeIndex[postOrderIndex];
385
- const dominatorIndex = dominatorInfo[nodeIndex];
386
- retainedSizes[dominatorIndex] += retainedSizes[nodeIndex];
337
+ // Propagate retained sizes up the dominator tree in reverse DFS order, so
338
+ // each node is accumulated into its dominator before the dominator itself.
339
+ // vertex[1] is the root, so stop at i > 1.
340
+ for (let i = n; i > 1; --i) {
341
+ const ordinal = vertex[i] - 1;
342
+ retainedSizes[dominatorOrdinals[ordinal]] += retainedSizes[ordinal];
387
343
  }
388
- return retainedSizes;
344
+ return { dominatorOrdinals, retainedSizes };
389
345
  }
390
346
  shouldIgnoreEdgeInTraceFinding(edge) {
391
347
  const fromNode = edge.fromNode;
@@ -471,24 +427,19 @@ class TraceFinder {
471
427
  }
472
428
  calculateAllNodesRetainedSizes(snapshot) {
473
429
  Console_1.default.overwrite('calculating dominators and retained sizes .');
474
- // step 1: build post order index
475
- const flags = new Uint32Array(snapshot.nodes.length);
476
- Console_1.default.overwrite('calculating dominators and retained sizes ..');
430
+ const nodes = snapshot.nodes;
431
+ // Flag nodes owned by the page (reachable from the window) so the dominator
432
+ // pass can ignore edges the debugger adds into page-owned objects.
433
+ const flags = new Uint32Array(nodes.length);
477
434
  this.flagReachableNodesFromWindow(snapshot, flags, PAGE_OBJECT_FLAG);
478
- Console_1.default.overwrite('calculating dominators and retained sizes ...');
479
- const postOrderInfo = this.buildPostOrderIndex(snapshot, flags);
480
- // step 2: build dominator relations
481
- Console_1.default.overwrite('calculating dominators and retained sizes .');
482
- const dominatorInfo = this.calculateDominatorNodesFromPostOrder(snapshot.nodes, snapshot.edges, postOrderInfo, flags, snapshot);
483
- // step 3: calculate retained sizes
484
435
  Console_1.default.overwrite('calculating dominators and retained sizes ..');
485
- const retainedSizes = this.calculateRetainedSizesFromDominatorNodes(snapshot.nodes, dominatorInfo, postOrderInfo);
486
- // step 4: assign retained sizes and dominators to nodes
436
+ const { dominatorOrdinals, retainedSizes } = this.computeDominatorsAndRetainedSizes(snapshot, flags);
437
+ // assign retained sizes and dominators to nodes
487
438
  Console_1.default.overwrite('calculating dominators and retained sizes ...');
488
- for (let i = 0; i < retainedSizes.length; i++) {
489
- const node = snapshot.nodes.get(i);
490
- node.retainedSize = retainedSizes[i];
491
- node.dominatorNode = snapshot.nodes.get(dominatorInfo[i]);
439
+ for (let ordinal = 0; ordinal < retainedSizes.length; ++ordinal) {
440
+ const node = nodes.get(ordinal);
441
+ node.retainedSize = retainedSizes[ordinal];
442
+ node.dominatorNode = nodes.get(dominatorOrdinals[ordinal]);
492
443
  }
493
444
  }
494
445
  annotateShortestPaths(snapshot, excludeKeySet) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memlab/core",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "license": "MIT",
5
5
  "description": "memlab core libraries",
6
6
  "author": "Liang Gong <lgong@meta.com>",
@@ -36,8 +36,8 @@
36
36
  "chalk": "^4.0.0",
37
37
  "fs-extra": "^4.0.2",
38
38
  "minimist": "^1.2.8",
39
- "puppeteer": "^24.2.0",
40
- "puppeteer-core": "^24.2.0",
39
+ "puppeteer": "24.31.0",
40
+ "puppeteer-core": "24.31.0",
41
41
  "string-width": "^4.2.0",
42
42
  "util.promisify": "^1.1.1",
43
43
  "xvfb": "^0.4.0"