make ref_unlink optional and itcm pass a simple test again

note: there's no marking yet
This commit is contained in:
dcode
2019-03-29 18:56:32 +01:00
parent a3aa9a3961
commit 6a790321aa
15 changed files with 5445 additions and 89 deletions

View File

@ -39,8 +39,9 @@ export namespace gc {
if (root.has(ref)) {
root.delete(ref);
if (implemented) {
if (isDefined(__ref_link)) __ref_unlink(ref, changetype<usize>(root));
else if (isDefined(__ref_retain)) __ref_release(ref);
if (isDefined(__ref_link)) {
if (isDefined(__ref_unlink)) __ref_unlink(ref, changetype<usize>(root));
} else if (isDefined(__ref_retain)) __ref_release(ref);
else assert(false);
}
}