mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 23:27:43 +00:00
LibJS: Notify WeakSets when heap cells are sweeped
This is an implementation of the following optional optimization: https://tc39.es/ecma262/#sec-weakref-execution
This commit is contained in:
parent
fb63aeae4d
commit
a00d154522
7 changed files with 62 additions and 3 deletions
|
@ -14,3 +14,13 @@ test("invalid values", () => {
|
|||
}).toThrowWithMessage(TypeError, "is not an object");
|
||||
});
|
||||
});
|
||||
|
||||
test("automatic removal of garbage-collected values", () => {
|
||||
const weakSet = new WeakSet();
|
||||
{
|
||||
expect(weakSet.add({ a: 1 })).toBe(weakSet);
|
||||
expect(getWeakSetSize(weakSet)).toBe(1);
|
||||
}
|
||||
gc();
|
||||
expect(getWeakSetSize(weakSet)).toBe(0);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue