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