()
| 81 | TestMultiInstance(gc); |
| 82 | |
| 83 | function TestReclaimingCompiledModule() { |
| 84 | let module = newModule(); |
| 85 | |
| 86 | print("TestReclaimingCompiledModule..."); |
| 87 | let roots = (() => { return [ |
| 88 | newInstance(module, 7777), |
| 89 | newInstance(module, 8888), |
| 90 | ];})(); |
| 91 | |
| 92 | (() => { // don't leak references! |
| 93 | print(" [0]..."); |
| 94 | assertEquals(7777, roots[0].exports.main()); |
| 95 | assertEquals(8888, roots[1].exports.main()); |
| 96 | roots[1] = null; |
| 97 | })(); |
| 98 | |
| 99 | (() => { // don't leak references! |
| 100 | print(" [1]..."); |
| 101 | gc(); |
| 102 | roots[1] = newInstance(module, 9999); |
| 103 | assertEquals(7777, roots[0].exports.main()); |
| 104 | assertEquals(9999, roots[1].exports.main()); |
| 105 | roots[0] = null; |
| 106 | roots[1] = null; |
| 107 | })(); |
| 108 | |
| 109 | (() => { // don't leak references! |
| 110 | print(" [2]..."); |
| 111 | gc(); |
| 112 | roots[0] = newInstance(module, 11111); |
| 113 | roots[1] = newInstance(module, 22222); |
| 114 | assertEquals(11111, roots[0].exports.main()); |
| 115 | assertEquals(22222, roots[1].exports.main()); |
| 116 | roots[0] = null; |
| 117 | roots[1] = null; |
| 118 | })(); |
| 119 | } |
| 120 | |
| 121 | TestReclaimingCompiledModule(nogc); |
| 122 | TestReclaimingCompiledModule(gc); |
no test coverage detected
searching dependent graphs…