Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / js1_8_5 / extensions / worker-fib-child.js
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * Any copyright is dedicated to the Public Domain.
4  * http://creativecommons.org/licenses/publicdomain/
5  * Contributor: Jason Orendorff <jorendorff@mozilla.com>
6  */
7
8 function onmessage(event) {
9     var a = event.data.split(/\t/);
10     var n = Number(a[0]);
11     var workerDir = a[1];
12
13     if (n <= 1) {
14         postMessage("" + n);
15     } else {
16         var w1 = new Worker(workerDir + "worker-fib-child.js"),
17             w2 = new Worker(workerDir + "worker-fib-child.js");
18         var a = [];
19         w1.onmessage = w2.onmessage = function(event) {
20             a.push(+event.data);
21             if (a.length == 2)
22                 postMessage(a[0] + a[1] + "");
23         };
24         w1.postMessage(n - 1 + "\t" + workerDir);
25         w2.postMessage(n - 2 + "\t" + workerDir);
26     }
27 }