haikuwebkit/LayoutTests/fast/workers/resources/worker-common.js

27 lines
624 B
JavaScript

function gc()
{
for (var i = 0; i < 10000; i++) { // > force garbage collection (FF requires about 9K allocations before a collect)
var s = new String("abc");
}
}
onmessage = function(evt)
{
gc();
if (evt.data == "ping")
postMessage("pong");
else if (evt.data == "freeze")
while (1) {}
else if (evt.data == "close")
close();
else if (/eval.+/.test(evt.data)) {
try {
postMessage(evt.data.substr(5) + ": " + eval(evt.data.substr(5)));
} catch (ex) {
postMessage(evt.data.substr(5) + ": " + ex);
}
}
gc();
}