1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/js1_5/Regress/regress-449627.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,116 @@ 1.4 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* 1.6 + * Any copyright is dedicated to the Public Domain. 1.7 + * http://creativecommons.org/licenses/publicdomain/ 1.8 + * Contributor: Robert Sayre 1.9 + */ 1.10 + 1.11 +//----------------------------------------------------------------------------- 1.12 +var BUGNUMBER = 449627; 1.13 +var summary = 'Crash with JIT in js_FillPropertyCache'; 1.14 +var actual = 'No Crash'; 1.15 +var expect = 'No Crash'; 1.16 + 1.17 +printBugNumber(BUGNUMBER); 1.18 +printStatus (summary); 1.19 + 1.20 +jit(true); 1.21 + 1.22 +/************************ BROWSER DETECT (http://www.quirksmode.org/js/detect.html) ************************/ 1.23 + 1.24 +if (typeof navigator == 'undefined') 1.25 +{ 1.26 + navigator = { 1.27 + userAgent: "Firefox", 1.28 + vendor: "Mozilla", 1.29 + platform: "Mac" 1.30 + }; 1.31 +} 1.32 + 1.33 +global = this; 1.34 + 1.35 +var BrowserDetect = { 1.36 + init: function _init() 1.37 + { 1.38 + this.browser=this.searchString(this.dataBrowser) || "An unknown browser"; 1.39 + 1.40 + this.OS= this.searchString(this.dataOS)||"an unknown OS"; 1.41 + }, 1.42 + searchString: function _searchString(a) 1.43 + { 1.44 + for(var i=0; i < a.length; i++) 1.45 + { 1.46 + var b=a[i].string; 1.47 + var c=a[i].prop; 1.48 + this.versionSearchString=a[i].versionSearch||a[i].identity; 1.49 + if(b) 1.50 + { 1.51 + if(b.indexOf(a[i].subString)!=-1) 1.52 + return a[i].identity; 1.53 + } 1.54 + else if(c) 1.55 + return a[i].identity; 1.56 + } 1.57 + }, 1.58 + 1.59 + searchVersion:function _searchVersion(a) 1.60 + { 1.61 + var b=a.indexOf(this.versionSearchString); 1.62 + if(b==-1) 1.63 + return; 1.64 + return parseFloat(a.substring(b+this.versionSearchString.length+1)); 1.65 + }, 1.66 + 1.67 + dataBrowser:[ 1.68 + { 1.69 + string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb" 1.70 + }, 1.71 + { 1.72 + string:navigator.vendor,subString:"Apple",identity:"Safari" 1.73 + }, 1.74 + { 1.75 + prop:global.opera,identity:"Opera" 1.76 + }, 1.77 + { 1.78 + string:navigator.vendor,subString:"iCab",identity:"iCab" 1.79 + }, 1.80 + { 1.81 + string:navigator.vendor,subString:"KDE",identity:"Konqueror" 1.82 + }, 1.83 + { 1.84 + string:navigator.userAgent,subString:"Firefox",identity:"Firefox" 1.85 + }, 1.86 + { 1.87 + string:navigator.vendor,subString:"Camino",identity:"Camino" 1.88 + }, 1.89 + { 1.90 + string:navigator.userAgent,subString:"Netscape",identity:"Netscape" 1.91 + }, 1.92 + { 1.93 + string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE" 1.94 + }, 1.95 + { 1.96 + string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv" 1.97 + }, 1.98 + { 1.99 + string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla" 1.100 + } 1.101 + ], 1.102 + dataOS:[ 1.103 + { 1.104 + string:navigator.platform,subString:"Win",identity:"Windows" 1.105 + }, 1.106 + { 1.107 + string:navigator.platform,subString:"Mac",identity:"Mac" 1.108 + }, 1.109 + { 1.110 + string:navigator.platform,subString:"Linux",identity:"Linux" 1.111 + } 1.112 + ] 1.113 + }; 1.114 + 1.115 +BrowserDetect.init(); 1.116 + 1.117 +jit(false); 1.118 + 1.119 +reportCompare(expect, actual, summary);