summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/regress/regress-449627.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/regress/regress-449627.js')
-rw-r--r--js/src/tests/non262/regress/regress-449627.js114
1 files changed, 114 insertions, 0 deletions
diff --git a/js/src/tests/non262/regress/regress-449627.js b/js/src/tests/non262/regress/regress-449627.js
new file mode 100644
index 0000000000..f50fd29e2a
--- /dev/null
+++ b/js/src/tests/non262/regress/regress-449627.js
@@ -0,0 +1,114 @@
+/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ * Contributor: Robert Sayre
+ */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 449627;
+var summary = 'Crash with JIT in js_FillPropertyCache';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+
+/************************ BROWSER DETECT (http://www.quirksmode.org/js/detect.html) ************************/
+
+if (typeof navigator == 'undefined')
+{
+ navigator = {
+ userAgent: "Firefox",
+ vendor: "Mozilla",
+ platform: "Mac"
+ };
+}
+
+global = this;
+
+var BrowserDetect = {
+ init: function _init()
+ {
+ this.browser=this.searchString(this.dataBrowser) || "An unknown browser";
+
+ this.OS= this.searchString(this.dataOS)||"an unknown OS";
+ },
+ searchString: function _searchString(a)
+ {
+ for(var i=0; i < a.length; i++)
+ {
+ var b=a[i].string;
+ var c=a[i].prop;
+ this.versionSearchString=a[i].versionSearch||a[i].identity;
+ if(b)
+ {
+ if(b.indexOf(a[i].subString)!=-1)
+ return a[i].identity;
+ }
+ else if(c)
+ return a[i].identity;
+ }
+ },
+
+ searchVersion:function _searchVersion(a)
+ {
+ var b=a.indexOf(this.versionSearchString);
+ if(b==-1)
+ return;
+ return parseFloat(a.substring(b+this.versionSearchString.length+1));
+ },
+
+ dataBrowser:[
+ {
+ string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"
+ },
+ {
+ string:navigator.vendor,subString:"Apple",identity:"Safari"
+ },
+ {
+ prop:global.opera,identity:"Opera"
+ },
+ {
+ string:navigator.vendor,subString:"iCab",identity:"iCab"
+ },
+ {
+ string:navigator.vendor,subString:"KDE",identity:"Konqueror"
+ },
+ {
+ string:navigator.userAgent,subString:"Firefox",identity:"Firefox"
+ },
+ {
+ string:navigator.vendor,subString:"Camino",identity:"Camino"
+ },
+ {
+ string:navigator.userAgent,subString:"Netscape",identity:"Netscape"
+ },
+ {
+ string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"
+ },
+ {
+ string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"
+ },
+ {
+ string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"
+ }
+ ],
+ dataOS:[
+ {
+ string:navigator.platform,subString:"Win",identity:"Windows"
+ },
+ {
+ string:navigator.platform,subString:"Mac",identity:"Mac"
+ },
+ {
+ string:navigator.platform,subString:"Linux",identity:"Linux"
+ }
+ ]
+ };
+
+BrowserDetect.init();
+
+
+reportCompare(expect, actual, summary);