OLD | NEW |
1 <body> | 1 <body> |
2 <p>Test some cases of MessagePort garbage collection.</p> | 2 <p>Test some cases of MessagePort garbage collection.</p> |
3 <pre id=log></pre> | 3 <pre id=log></pre> |
| 4 <script src="../../resources/gc.js"></script> |
4 <script> | 5 <script> |
5 function gc() | |
6 { | |
7 if (window.GCController) | |
8 return GCController.collect(); | |
9 | |
10 for (var i = 0; i < 10000; i++) { // > force garbage collection (FF requires
about 9K allocations before a collect) | |
11 var s = new String("abc"); | |
12 } | |
13 } | |
14 | 6 |
15 function log(message) | 7 function log(message) |
16 { | 8 { |
17 document.getElementById("log").innerHTML += message + "<br>"; | 9 document.getElementById("log").innerHTML += message + "<br>"; |
18 } | 10 } |
19 | 11 |
20 function done() | 12 function done() |
21 { | 13 { |
22 channel.port1.close(); | 14 channel.port1.close(); |
23 channel.port2.close(); | 15 channel.port2.close(); |
(...skipping 20 matching lines...) Expand all Loading... |
44 channel.port1.addEventListener("message", function() { log("message listener");
done(); }, false); | 36 channel.port1.addEventListener("message", function() { log("message listener");
done(); }, false); |
45 | 37 |
46 gc(); | 38 gc(); |
47 channel.port1.start(); | 39 channel.port1.start(); |
48 channel.port2.postMessage("msg"); | 40 channel.port2.postMessage("msg"); |
49 | 41 |
50 gc(); | 42 gc(); |
51 | 43 |
52 </script> | 44 </script> |
53 </body> | 45 </body> |
OLD | NEW |