Fix weakrefs when adding a key to the same container multiple times (#3343)
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai@inf.u-szeged.hu
This commit is contained in:
committed by
Zoltan Herczeg
parent
3bf2bc50bc
commit
fc2218e828
@@ -110,6 +110,24 @@ gc();
|
||||
m1 = undefined;
|
||||
gc();
|
||||
|
||||
m1 = new WeakMap();
|
||||
m1.set(k1, "str");
|
||||
m1.set(k1, "4");
|
||||
m1.set(k1, null);
|
||||
m1.set(k1, 42);
|
||||
print (m1.has (k1));
|
||||
k1 = {};
|
||||
gc();
|
||||
|
||||
m1 = new WeakMap();
|
||||
m1.set(k1, "str");
|
||||
m1.set(k1, "4");
|
||||
m1.set(k1, 42);
|
||||
m1.set(k1, null);
|
||||
assert (m1.has (k1));
|
||||
m1 = new WeakMap();
|
||||
gc();
|
||||
|
||||
try {
|
||||
new WeakMap([[1,2],[3,4]]);
|
||||
assert (false);
|
||||
|
||||
@@ -95,6 +95,23 @@ gc();
|
||||
m1 = undefined;
|
||||
gc();
|
||||
|
||||
m1 = new WeakSet();
|
||||
k1 = {};
|
||||
m1.add (k1);
|
||||
m1.add (k1);
|
||||
m1.add (k1);
|
||||
assert (m1.has (k1));
|
||||
k1 = {};
|
||||
gc();
|
||||
|
||||
m1 = new WeakSet();
|
||||
m1.add (k1);
|
||||
m1.add (k1);
|
||||
m1.add (k1);
|
||||
assert (m1.has (k1));
|
||||
m1 = new WeakSet();
|
||||
gc();
|
||||
|
||||
try {
|
||||
new WeakSet([1,2,3,4]);
|
||||
assert (false);
|
||||
|
||||
Reference in New Issue
Block a user