blob: 3a2388533cb19c9ba44f5dbd8ce978fe18aa3459 [file] [log] [blame]
Ben Murdochb0fe1622011-05-05 13:52:32 +01001// Copyright 2010 the V8 project authors. All rights reserved.
2// Redistribution and use in source and binary forms, with or without
3// modification, are permitted provided that the following conditions are
4// met:
5//
6// * Redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer.
8// * Redistributions in binary form must reproduce the above
9// copyright notice, this list of conditions and the following
10// disclaimer in the documentation and/or other materials provided
11// with the distribution.
12// * Neither the name of Google Inc. nor the names of its
13// contributors may be used to endorse or promote products derived
14// from this software without specific prior written permission.
15//
16// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28// Regression test for the register allocator.
29var gp = "";
30var yE = "";
31var W = "";
32var LA = "";
33var zE = "";
34var Fp = "";
35var AE = "";
36var Gob = "";
37var Hob = "";
38var Iob = "";
39var Job = "";
40var Kob = "";
41var Lob = "";
42var Mob = "";
43var p = "";
44function O() { this.append = function(a,b,c,d,e) { return a + b + c + d + e; } }
45
46function Nob(b,a) {
47 var c;
48 if (b==2) {
49 c=new O;
50 c.append(gp,
51 yE,
52 W,
53 LA+(a.Un+(zE+(Fp+(LA+(a.Im+(zE+(AE+(LA+(a.total+Gob))))))))),
54 p);
55 c=c.toString();
56 } else {
57 if (b==1) {
58 if(a.total>=2E6) {
59 c=new O;
60 c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Hob))))),p);
61 c=c.toString();
62 } else {
63 if(a.total>=2E5) {
64 c=new O;
65 c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Iob))))),p);
66 c=c.toString();
67 } else {
68 if(a.total>=2E4) {
69 c=new O;
70 c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Job))))),p);
71 c=c.toString();
72 } else {
73 if(a.total>=2E3) {
74 c=new O;
75 c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Kob))))),p);
76 c=c.toString();
77 } else {
78 if(a.total>=200) {
79 c=new O;
80 c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Lob))))),p);
81 c=c.toString();
82 } else {
83 c=new O;
84 c.append(gp,yE,W,
85 LA+(a.Un+(zE+(Fp+(LA+(a.Im+(zE+(Mob+(LA+(a.total+zE))))))))),
86 p);
87 c=c.toString();
88 }
89 c=c;
90 }
91 c=c;
92 }
93 c=c;
94 }
95 c=c;
96 }
97 c=c;
98 } else {
99 c=new O;
100 c.append(gp,yE,W,
101 LA+(a.Un+(zE+(Fp+(LA+(a.Im+(zE+(AE+(LA+(a.total+zE))))))))),
102 p);
103 c=c.toString();
104 }
105 c=c;
106 }
107 return c;
108}
109Nob(2, { Un: "" , Im: "" , total: 42});