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