Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / jit-test / tests / basic / testBug602413.js
1 var so = [];
2
3 function U(unusedV)
4 {
5   for (var i = 0; i < so.length; ++i)
6     return false;
7   so.push(0);
8 }
9
10 function C(v)
11 {
12   if (typeof v == "object" || typeof v == "function") {
13     for (var i = 0; i < 10; ++i) {}
14     U(v);
15   }
16 }
17
18 function exploreProperties(obj)
19 {
20   var props = [];
21   for (var o = obj; o; o = Object.getPrototypeOf(o)) {
22     props = props.concat(Object.getOwnPropertyNames(o));
23   }
24   for (var i = 0; i < props.length; ++i) {
25     var p = props[i];
26     try { 
27       var v = obj[p];
28       C(v);
29     } catch(e) { }
30   }
31 }
32
33 function boom()
34 {
35   var a = [];
36   var b = function(){};
37   var c = [{}];
38   exploreProperties(a);
39   exploreProperties(b);
40   exploreProperties(c);
41   exploreProperties(c);
42 }
43
44 boom();
45