// Create objects that need proper weak marking handling var weakTargets = []; var weakRefs = []; var wm = new WeakMap();
for (var i = 0; i < 50; i++) { var t = {id: i, data: new Array(20).fill(i)};
weakTargets.push(t);
weakRefs.push(new WeakRef(t));
wm.set(t, {value: i * 2});
}
// Set up mark queue to enter then abort weak marking mode // This creates objects that won't be marked until weak marking mode, // then aborts weak marking to fall back on iterative code path
enqueueMark('enter-weak-marking-mode'); for (var i = 0; i < weakTargets.length; i++) {
enqueueMark(weakTargets[i]);
}
enqueueMark('abort-weak-marking-mode');
// Drop half the strong refs - these should be collected for (var i = 0; i < 25; i++) {
weakTargets[i] = null;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.