Title: [173911] trunk
Revision
173911
Author
[email protected]
Date
2014-09-24 02:14:32 -0700 (Wed, 24 Sep 2014)

Log Message

Unreviewed, rolling out r173839.
https://bugs.webkit.org/show_bug.cgi?id=137062

NumberConstruct should no longer use static tables (Requested
by dpino on #webkit).

Reverted changeset:

"Simple ES6 feature: Number constructor extras"
https://bugs.webkit.org/show_bug.cgi?id=131707
http://trac.webkit.org/changeset/173839

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (173910 => 173911)


--- trunk/LayoutTests/ChangeLog	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/LayoutTests/ChangeLog	2014-09-24 09:14:32 UTC (rev 173911)
@@ -1,3 +1,17 @@
+2014-09-24  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r173839.
+        https://bugs.webkit.org/show_bug.cgi?id=137062
+
+        NumberConstruct should no longer use static tables (Requested
+        by dpino on #webkit).
+
+        Reverted changeset:
+
+        "Simple ES6 feature: Number constructor extras"
+        https://bugs.webkit.org/show_bug.cgi?id=131707
+        http://trac.webkit.org/changeset/173839
+
 2014-09-24  Benjamin Poulain  <[email protected]>
 
         Remove the style marking from :nth-child()

Modified: trunk/LayoutTests/js/Object-getOwnPropertyNames-expected.txt (173910 => 173911)


--- trunk/LayoutTests/js/Object-getOwnPropertyNames-expected.txt	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/LayoutTests/js/Object-getOwnPropertyNames-expected.txt	2014-09-24 09:14:32 UTC (rev 173911)
@@ -50,7 +50,7 @@
 PASS getSortedOwnPropertyNames(String.prototype) is ['anchor', 'big', 'blink', 'bold', 'charAt', 'charCodeAt', 'concat', 'constructor', 'contains', 'endsWith', 'fixed', 'fontcolor', 'fontsize', 'indexOf', 'italics', 'lastIndexOf', 'length', 'link', 'localeCompare', 'match', 'replace', 'search', 'slice', 'small', 'split', 'startsWith', 'strike', 'sub', 'substr', 'substring', 'sup', 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toString', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', 'valueOf']
 PASS getSortedOwnPropertyNames(Boolean) is ['length', 'name', 'prototype']
 PASS getSortedOwnPropertyNames(Boolean.prototype) is ['constructor', 'toString', 'valueOf']
-PASS getSortedOwnPropertyNames(Number) is ['EPSILON', 'MAX_SAFE_INTEGER', 'MAX_VALUE', 'MIN_SAFE_INTEGER', 'MIN_VALUE', 'NEGATIVE_INFINITY', 'NaN', 'POSITIVE_INFINITY', 'isFinite', 'isInteger', 'isNaN', 'isSafeInteger', 'length', 'name', 'parseFloat', 'parseInt', 'prototype']
+PASS getSortedOwnPropertyNames(Number) is ['MAX_VALUE', 'MIN_VALUE', 'NEGATIVE_INFINITY', 'NaN', 'POSITIVE_INFINITY', 'length', 'name', 'prototype']
 PASS getSortedOwnPropertyNames(Number.prototype) is ['clz', 'constructor', 'toExponential', 'toFixed', 'toLocaleString', 'toPrecision', 'toString', 'valueOf']
 PASS getSortedOwnPropertyNames(Date) is ['UTC', 'length', 'name', 'now', 'parse', 'prototype']
 PASS getSortedOwnPropertyNames(Date.prototype) is ['constructor', 'getDate', 'getDay', 'getFullYear', 'getHours', 'getMilliseconds', 'getMinutes', 'getMonth', 'getSeconds', 'getTime', 'getTimezoneOffset', 'getUTCDate', 'getUTCDay', 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', 'getYear', 'setDate', 'setFullYear', 'setHours', 'setMilliseconds', 'setMinutes', 'setMonth', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear', 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setYear', 'toDateString', 'toGMTString', 'toISOString', 'toJSON', 'toLocaleDateString', 'toLocaleString', 'toLocaleTimeString', 'toString', 'toTimeString', 'toUTCString', 'valueOf']

Deleted: trunk/LayoutTests/js/number-constructor-expected.txt (173910 => 173911)


--- trunk/LayoutTests/js/number-constructor-expected.txt	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/LayoutTests/js/number-constructor-expected.txt	2014-09-24 09:14:32 UTC (rev 173911)
@@ -1,154 +0,0 @@
-This test case tests the Number constructor.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS Number.isFinite(0) is true
-PASS Number.isFinite(-0) is true
-PASS Number.isFinite(1) is true
-PASS Number.isFinite(-1) is true
-PASS Number.isFinite(1.0) is true
-PASS Number.isFinite(1.1) is true
-PASS Number.isFinite(-1.0) is true
-PASS Number.isFinite(-1.1) is true
-PASS Number.isFinite(Number.MAX_SAFE_INTEGER) is true
-PASS Number.isFinite(Number.MIN_SAFE_INTEGER) is true
-PASS Number.isFinite(Number.MAX_VALUE) is true
-PASS Number.isFinite(Number.MIN_VALUE) is true
-PASS Number.isFinite() is false
-PASS Number.isFinite({}) is false
-PASS Number.isFinite([]) is false
-PASS Number.isFinite(true) is false
-PASS Number.isFinite(false) is false
-PASS Number.isFinite(null) is false
-PASS Number.isFinite(undefined) is false
-PASS Number.isFinite(Number.NaN) is false
-PASS Number.isFinite(Number.POSITIVE_INFINITY) is false
-PASS Number.isFinite(Number.NEGATIVE_INFINITY) is false
-PASS Number.isInteger(0) is true
-PASS Number.isInteger(-0) is true
-PASS Number.isInteger(1) is true
-PASS Number.isInteger(-1) is true
-PASS Number.isInteger(1.0) is true
-PASS Number.isInteger(-1.0) is true
-PASS Number.isInteger(Number.MAX_SAFE_INTEGER) is true
-PASS Number.isInteger(Number.MIN_SAFE_INTEGER) is true
-PASS Number.isInteger(Number.MAX_VALUE) is true
-PASS Number.isInteger(Number.MIN_VALUE) is false
-PASS Number.isInteger(1.1) is false
-PASS Number.isInteger(-1.1) is false
-PASS Number.isInteger() is false
-PASS Number.isInteger({}) is false
-PASS Number.isInteger([]) is false
-PASS Number.isInteger(true) is false
-PASS Number.isInteger(false) is false
-PASS Number.isInteger(null) is false
-PASS Number.isInteger(undefined) is false
-PASS Number.isInteger(Number.NaN) is false
-PASS Number.isInteger(Number.POSITIVE_INFINITY) is false
-PASS Number.isInteger(Number.NEGATIVE_INFINITY) is false
-PASS Number.isNaN(Number.NaN) is true
-PASS Number.isNaN(0) is false
-PASS Number.isNaN(-0) is false
-PASS Number.isNaN(1) is false
-PASS Number.isNaN(-1) is false
-PASS Number.isNaN(1.0) is false
-PASS Number.isNaN(1.1) is false
-PASS Number.isNaN(-1.0) is false
-PASS Number.isNaN(-1.1) is false
-PASS Number.isNaN() is false
-PASS Number.isNaN({}) is false
-PASS Number.isNaN([]) is false
-PASS Number.isNaN(false) is false
-PASS Number.isNaN(false) is false
-PASS Number.isNaN(null) is false
-PASS Number.isNaN(undefined) is false
-PASS Number.isNaN(Number.POSITIVE_INFINITY) is false
-PASS Number.isNaN(Number.NEGATIVE_INFINITY) is false
-PASS Number.isNaN(Number.MAX_SAFE_INTEGER) is false
-PASS Number.isNaN(Number.MIN_SAFE_INTEGER) is false
-PASS Number.isNaN(Number.MAX_VALUE) is false
-PASS Number.isNaN(Number.MIN_VALUE) is false
-PASS Number.isSafeInteger(0) is true
-PASS Number.isSafeInteger(-0) is true
-PASS Number.isSafeInteger(1) is true
-PASS Number.isSafeInteger(-1) is true
-PASS Number.isSafeInteger(1.0) is true
-PASS Number.isSafeInteger(-1.0) is true
-PASS Number.isSafeInteger(Number.MAX_SAFE_INTEGER) is true
-PASS Number.isSafeInteger(Number.MAX_SAFE_INTEGER - 1) is true
-PASS Number.isSafeInteger(Number.MIN_SAFE_INTEGER) is true
-PASS Number.isSafeInteger(Number.MIN_SAFE_INTEGER + 1) is true
-PASS Number.isSafeInteger(1.1) is false
-PASS Number.isSafeInteger(-1.1) is false
-PASS Number.isSafeInteger() is false
-PASS Number.isSafeInteger({}) is false
-PASS Number.isSafeInteger([]) is false
-PASS Number.isSafeInteger(false) is false
-PASS Number.isSafeInteger(false) is false
-PASS Number.isSafeInteger(null) is false
-PASS Number.isSafeInteger(undefined) is false
-PASS Number.isSafeInteger(Number.NaN) is false
-PASS Number.isSafeInteger(Number.MAX_VALUE) is false
-PASS Number.isSafeInteger(Number.MIN_VALUE) is false
-PASS Number.isSafeInteger(Number.POSITIVE_INFINITY) is false
-PASS Number.isSafeInteger(Number.NEGATIVE_INFINITY) is false
-PASS Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1) is false
-PASS Number.isSafeInteger(Number.MIN_SAFE_INTEGER - 1) is false
-PASS Number.parseFloat("0") is 0
-PASS Number.parseFloat("-0") is -0
-PASS Number.parseFloat("1") is 1
-PASS Number.parseFloat("-1") is -1
-PASS Number.parseFloat("1.1") is 1.1
-PASS Number.parseFloat("-1.1") is -1.1
-PASS Number.parseFloat("10E6") is 10E6
-PASS Number.parseFloat("0xA") is 0
-PASS Number.parseFloat("050") is 50
-PASS Number.parseFloat(050) is 40
-PASS Number.parseFloat("0x20") is 0
-PASS Number.parseFloat(0x20) is 32
-PASS Number.parseFloat() is NaN
-PASS Number.parseFloat({}) is NaN
-PASS Number.parseFloat([]) is NaN
-PASS Number.parseFloat(false) is NaN
-PASS Number.parseFloat(false) is NaN
-PASS Number.parseFloat(null) is NaN
-PASS Number.parseFloat(Number.NaN) is NaN
-PASS Number.parseFloat("1.7976931348623157E308") is 1.7976931348623157e+308
-PASS Number.parseFloat("1.80E308") is Infinity
-PASS Number.parseFloat("5E-324") is 5e-324
-PASS Number.parseFloat("5E-325") is 0
-PASS Number.parseFloat("20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") is 2e+307
-PASS Number.parseFloat("200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") is Infinity
-PASS Number.parseInt("0") is 0
-PASS Number.parseInt("-0") is -0
-PASS Number.parseInt("1") is 1
-PASS Number.parseInt("-1") is -1
-PASS Number.parseInt("1.1") is 1
-PASS Number.parseInt("-1.1") is -1
-PASS Number.parseInt("10E6") is 10
-PASS Number.parseInt("0xA") is 10
-PASS Number.parseInt("050") is 50
-PASS Number.parseInt("050", 8) is 40
-PASS Number.parseInt(050) is 40
-PASS Number.parseInt("0x20") is 32
-PASS Number.parseInt("0x20", 16) is 32
-PASS Number.parseInt("20", 16) is 32
-PASS Number.parseInt(0x20) is 32
-PASS Number.parseInt() is NaN
-PASS Number.parseInt({}) is NaN
-PASS Number.parseInt([]) is NaN
-PASS Number.parseInt(false) is NaN
-PASS Number.parseInt(false) is NaN
-PASS Number.parseInt(null) is NaN
-PASS Number.parseInt(Number.NaN) is NaN
-PASS Number.parseInt("1.7976931348623157E308") is 1
-PASS Number.parseInt("1.80E308") is 1
-PASS Number.parseInt("5E-324") is 5
-PASS Number.parseInt("5E-325") is 5
-PASS Number.parseInt("20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") is 2e+307
-PASS Number.parseInt("200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") is Infinity
-PASS successfullyParsed is true
-
-TEST COMPLETE
-

Deleted: trunk/LayoutTests/js/number-constructor.html (173910 => 173911)


--- trunk/LayoutTests/js/number-constructor.html	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/LayoutTests/js/number-constructor.html	2014-09-24 09:14:32 UTC (rev 173911)
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="UTF-8">
-  <script src=""
-</head>
-<body>
-  <script src=""
-  <script src=""
-</body>
-</html>

Modified: trunk/LayoutTests/js/script-tests/Object-getOwnPropertyNames.js (173910 => 173911)


--- trunk/LayoutTests/js/script-tests/Object-getOwnPropertyNames.js	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/LayoutTests/js/script-tests/Object-getOwnPropertyNames.js	2014-09-24 09:14:32 UTC (rev 173911)
@@ -58,7 +58,7 @@
     "String.prototype": "['anchor', 'big', 'blink', 'bold', 'charAt', 'charCodeAt', 'concat', 'constructor', 'contains', 'endsWith', 'fixed', 'fontcolor', 'fontsize', 'indexOf', 'italics', 'lastIndexOf', 'length', 'link', 'localeCompare', 'match', 'replace', 'search', 'slice', 'small', 'split', 'startsWith', 'strike', 'sub', 'substr', 'substring', 'sup', 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toString', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', 'valueOf']",
     "Boolean": "['length', 'name', 'prototype']",
     "Boolean.prototype": "['constructor', 'toString', 'valueOf']",
-    "Number": "['EPSILON', 'MAX_SAFE_INTEGER', 'MAX_VALUE', 'MIN_SAFE_INTEGER', 'MIN_VALUE', 'NEGATIVE_INFINITY', 'NaN', 'POSITIVE_INFINITY', 'isFinite', 'isInteger', 'isNaN', 'isSafeInteger', 'length', 'name', 'parseFloat', 'parseInt', 'prototype']",
+    "Number": "['MAX_VALUE', 'MIN_VALUE', 'NEGATIVE_INFINITY', 'NaN', 'POSITIVE_INFINITY', 'length', 'name', 'prototype']",
     "Number.prototype": "['clz', 'constructor', 'toExponential', 'toFixed', 'toLocaleString', 'toPrecision', 'toString', 'valueOf']",
     "Date": "['UTC', 'length', 'name', 'now', 'parse', 'prototype']",
     "Date.prototype": "['constructor', 'getDate', 'getDay', 'getFullYear', 'getHours', 'getMilliseconds', 'getMinutes', 'getMonth', 'getSeconds', 'getTime', 'getTimezoneOffset', 'getUTCDate', 'getUTCDay', 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', 'getYear', 'setDate', 'setFullYear', 'setHours', 'setMilliseconds', 'setMinutes', 'setMonth', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear', 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setYear', 'toDateString', 'toGMTString', 'toISOString', 'toJSON', 'toLocaleDateString', 'toLocaleString', 'toLocaleTimeString', 'toString', 'toTimeString', 'toUTCString', 'valueOf']",

Deleted: trunk/LayoutTests/js/script-tests/number-constructor.js (173910 => 173911)


--- trunk/LayoutTests/js/script-tests/number-constructor.js	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/LayoutTests/js/script-tests/number-constructor.js	2014-09-24 09:14:32 UTC (rev 173911)
@@ -1,158 +0,0 @@
-description('This test case tests the Number constructor.');
-
-// isFinite
-shouldBeTrue('Number.isFinite(0)');
-shouldBeTrue('Number.isFinite(-0)');
-shouldBeTrue('Number.isFinite(1)');
-shouldBeTrue('Number.isFinite(-1)');
-shouldBeTrue('Number.isFinite(1.0)');
-shouldBeTrue('Number.isFinite(1.1)');
-shouldBeTrue('Number.isFinite(-1.0)');
-shouldBeTrue('Number.isFinite(-1.1)');
-shouldBeTrue('Number.isFinite(Number.MAX_SAFE_INTEGER)');
-shouldBeTrue('Number.isFinite(Number.MIN_SAFE_INTEGER)');
-shouldBeTrue('Number.isFinite(Number.MAX_VALUE)');
-shouldBeTrue('Number.isFinite(Number.MIN_VALUE)');
-shouldBeFalse('Number.isFinite()');
-shouldBeFalse('Number.isFinite({})');
-shouldBeFalse('Number.isFinite([])');
-shouldBeFalse('Number.isFinite(true)');
-shouldBeFalse('Number.isFinite(false)');
-shouldBeFalse('Number.isFinite(null)');
-shouldBeFalse('Number.isFinite(undefined)');
-shouldBeFalse('Number.isFinite(Number.NaN)');
-shouldBeFalse('Number.isFinite(Number.POSITIVE_INFINITY)');
-shouldBeFalse('Number.isFinite(Number.NEGATIVE_INFINITY)');
-
-// isInteger
-shouldBeTrue('Number.isInteger(0)');
-shouldBeTrue('Number.isInteger(-0)');
-shouldBeTrue('Number.isInteger(1)');
-shouldBeTrue('Number.isInteger(-1)');
-shouldBeTrue('Number.isInteger(1.0)');
-shouldBeTrue('Number.isInteger(-1.0)');
-shouldBeTrue('Number.isInteger(Number.MAX_SAFE_INTEGER)');
-shouldBeTrue('Number.isInteger(Number.MIN_SAFE_INTEGER)');
-shouldBeTrue('Number.isInteger(Number.MAX_VALUE)');
-shouldBeFalse('Number.isInteger(Number.MIN_VALUE)');
-shouldBeFalse('Number.isInteger(1.1)');
-shouldBeFalse('Number.isInteger(-1.1)');
-shouldBeFalse('Number.isInteger()');
-shouldBeFalse('Number.isInteger({})');
-shouldBeFalse('Number.isInteger([])');
-shouldBeFalse('Number.isInteger(true)');
-shouldBeFalse('Number.isInteger(false)');
-shouldBeFalse('Number.isInteger(null)');
-shouldBeFalse('Number.isInteger(undefined)');
-shouldBeFalse('Number.isInteger(Number.NaN)');
-shouldBeFalse('Number.isInteger(Number.POSITIVE_INFINITY)');
-shouldBeFalse('Number.isInteger(Number.NEGATIVE_INFINITY)');
-
-// isNaN
-shouldBeTrue('Number.isNaN(Number.NaN)');
-shouldBeFalse('Number.isNaN(0)');
-shouldBeFalse('Number.isNaN(-0)');
-shouldBeFalse('Number.isNaN(1)');
-shouldBeFalse('Number.isNaN(-1)');
-shouldBeFalse('Number.isNaN(1.0)');
-shouldBeFalse('Number.isNaN(1.1)');
-shouldBeFalse('Number.isNaN(-1.0)');
-shouldBeFalse('Number.isNaN(-1.1)');
-shouldBeFalse('Number.isNaN()');
-shouldBeFalse('Number.isNaN({})');
-shouldBeFalse('Number.isNaN([])');
-shouldBeFalse('Number.isNaN(false)');
-shouldBeFalse('Number.isNaN(false)');
-shouldBeFalse('Number.isNaN(null)');
-shouldBeFalse('Number.isNaN(undefined)');
-shouldBeFalse('Number.isNaN(Number.POSITIVE_INFINITY)');
-shouldBeFalse('Number.isNaN(Number.NEGATIVE_INFINITY)');
-shouldBeFalse('Number.isNaN(Number.MAX_SAFE_INTEGER)');
-shouldBeFalse('Number.isNaN(Number.MIN_SAFE_INTEGER)');
-shouldBeFalse('Number.isNaN(Number.MAX_VALUE)');
-shouldBeFalse('Number.isNaN(Number.MIN_VALUE)');
-
-// isSafeInteger
-shouldBeTrue('Number.isSafeInteger(0)');
-shouldBeTrue('Number.isSafeInteger(-0)');
-shouldBeTrue('Number.isSafeInteger(1)');
-shouldBeTrue('Number.isSafeInteger(-1)');
-shouldBeTrue('Number.isSafeInteger(1.0)');
-shouldBeTrue('Number.isSafeInteger(-1.0)');
-shouldBeTrue('Number.isSafeInteger(Number.MAX_SAFE_INTEGER)');
-shouldBeTrue('Number.isSafeInteger(Number.MAX_SAFE_INTEGER - 1)');
-shouldBeTrue('Number.isSafeInteger(Number.MIN_SAFE_INTEGER)');
-shouldBeTrue('Number.isSafeInteger(Number.MIN_SAFE_INTEGER + 1)');
-shouldBeFalse('Number.isSafeInteger(1.1)');
-shouldBeFalse('Number.isSafeInteger(-1.1)');
-shouldBeFalse('Number.isSafeInteger()');
-shouldBeFalse('Number.isSafeInteger({})');
-shouldBeFalse('Number.isSafeInteger([])');
-shouldBeFalse('Number.isSafeInteger(false)');
-shouldBeFalse('Number.isSafeInteger(false)');
-shouldBeFalse('Number.isSafeInteger(null)');
-shouldBeFalse('Number.isSafeInteger(undefined)');
-shouldBeFalse('Number.isSafeInteger(Number.NaN)');
-shouldBeFalse('Number.isSafeInteger(Number.MAX_VALUE)');
-shouldBeFalse('Number.isSafeInteger(Number.MIN_VALUE)');
-shouldBeFalse('Number.isSafeInteger(Number.POSITIVE_INFINITY)');
-shouldBeFalse('Number.isSafeInteger(Number.NEGATIVE_INFINITY)');
-shouldBeFalse('Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1)');
-shouldBeFalse('Number.isSafeInteger(Number.MIN_SAFE_INTEGER - 1)');
-
-// parseFloat
-shouldBe('Number.parseFloat("0")', '0');
-shouldBe('Number.parseFloat("-0")', '-0');
-shouldBe('Number.parseFloat("1")', '1');
-shouldBe('Number.parseFloat("-1")', '-1');
-shouldBe('Number.parseFloat("1.1")', '1.1');
-shouldBe('Number.parseFloat("-1.1")', '-1.1');
-shouldBe('Number.parseFloat("10E6")', '10E6');
-shouldBe('Number.parseFloat("0xA")', '0');
-shouldBe('Number.parseFloat("050")', '50');
-shouldBe('Number.parseFloat(050)', '40');
-shouldBe('Number.parseFloat("0x20")', '0');
-shouldBe('Number.parseFloat(0x20)', '32');
-shouldBe('Number.parseFloat()', 'NaN');
-shouldBe('Number.parseFloat({})', 'NaN');
-shouldBe('Number.parseFloat([])', 'NaN');
-shouldBe('Number.parseFloat(false)', 'NaN');
-shouldBe('Number.parseFloat(false)', 'NaN');
-shouldBe('Number.parseFloat(null)', 'NaN');
-shouldBe('Number.parseFloat(Number.NaN)', 'NaN');
-shouldBe('Number.parseFloat("1.7976931348623157E308")', '1.7976931348623157e+308');
-shouldBe('Number.parseFloat("1.80E308")', "Infinity");
-shouldBe('Number.parseFloat("5E-324")', '5e-324');
-shouldBe('Number.parseFloat("5E-325")', '0');
-shouldBe('Number.parseFloat("20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")', '2e+307');
-shouldBe('Number.parseFloat("200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")', 'Infinity');
-
-// parseInt
-shouldBe('Number.parseInt("0")', '0');
-shouldBe('Number.parseInt("-0")', '-0');
-shouldBe('Number.parseInt("1")', '1');
-shouldBe('Number.parseInt("-1")', '-1');
-shouldBe('Number.parseInt("1.1")', '1');
-shouldBe('Number.parseInt("-1.1")', '-1');
-shouldBe('Number.parseInt("10E6")', '10');
-shouldBe('Number.parseInt("0xA")', '10');
-shouldBe('Number.parseInt("050")', '50');
-shouldBe('Number.parseInt("050", 8)', '40');
-shouldBe('Number.parseInt(050)', '40');
-shouldBe('Number.parseInt("0x20")', '32');
-shouldBe('Number.parseInt("0x20", 16)', '32');
-shouldBe('Number.parseInt("20", 16)', '32');
-shouldBe('Number.parseInt(0x20)', '32');
-shouldBe('Number.parseInt()', 'NaN');
-shouldBe('Number.parseInt({})', 'NaN');
-shouldBe('Number.parseInt([])', 'NaN');
-shouldBe('Number.parseInt(false)', 'NaN');
-shouldBe('Number.parseInt(false)', 'NaN');
-shouldBe('Number.parseInt(null)', 'NaN');
-shouldBe('Number.parseInt(Number.NaN)', 'NaN');
-shouldBe('Number.parseInt("1.7976931348623157E308")', '1');
-shouldBe('Number.parseInt("1.80E308")', '1');
-shouldBe('Number.parseInt("5E-324")', '5');
-shouldBe('Number.parseInt("5E-325")', '5');
-shouldBe('Number.parseInt("20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")', '2e+307');
-shouldBe('Number.parseInt("200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")', 'Infinity');

Modified: trunk/Source/_javascript_Core/ChangeLog (173910 => 173911)


--- trunk/Source/_javascript_Core/ChangeLog	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-09-24 09:14:32 UTC (rev 173911)
@@ -1,3 +1,17 @@
+2014-09-24  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r173839.
+        https://bugs.webkit.org/show_bug.cgi?id=137062
+
+        NumberConstruct should no longer use static tables (Requested
+        by dpino on #webkit).
+
+        Reverted changeset:
+
+        "Simple ES6 feature: Number constructor extras"
+        https://bugs.webkit.org/show_bug.cgi?id=131707
+        http://trac.webkit.org/changeset/173839
+
 2014-09-23  Mark Lam  <[email protected]>
 
         DebuggerCallFrame::invalidate() should invalidate all DebuggerScope chains.

Modified: trunk/Source/_javascript_Core/runtime/CommonIdentifiers.h (173910 => 173911)


--- trunk/Source/_javascript_Core/runtime/CommonIdentifiers.h	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/Source/_javascript_Core/runtime/CommonIdentifiers.h	2014-09-24 09:14:32 UTC (rev 173911)
@@ -118,11 +118,7 @@
     macro(input) \
     macro(instructionCount) \
     macro(isArray) \
-    macro(isFinite) \
-    macro(isInteger) \
-    macro(isNaN) \
     macro(isPrototypeOf) \
-    macro(isSafeInteger) \
     macro(isView) \
     macro(isWatchpoint) \
     macro(jettisonReason) \
@@ -144,8 +140,6 @@
     macro(osrExitSites) \
     macro(osrExits) \
     macro(parse) \
-    macro(parseFloat) \
-    macro(parseInt) \
     macro(postMessage) \
     macro(profiledBytecodes) \
     macro(propertyIsEnumerable) \

Modified: trunk/Source/_javascript_Core/runtime/NumberConstructor.cpp (173910 => 173911)


--- trunk/Source/_javascript_Core/runtime/NumberConstructor.cpp	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/Source/_javascript_Core/runtime/NumberConstructor.cpp	2014-09-24 09:14:32 UTC (rev 173911)
@@ -26,22 +26,14 @@
 #include "NumberObject.h"
 #include "NumberPrototype.h"
 #include "JSCInlines.h"
-#include "JSGlobalObjectFunctions.h"
 
 namespace JSC {
 
-static EncodedJSValue numberConstructorEpsilonValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
 static EncodedJSValue numberConstructorNaNValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
 static EncodedJSValue numberConstructorNegInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName);
 static EncodedJSValue numberConstructorPosInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName);
 static EncodedJSValue numberConstructorMaxValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
 static EncodedJSValue numberConstructorMinValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
-static EncodedJSValue numberConstructorMaxSafeInteger(ExecState*, JSObject*, EncodedJSValue, PropertyName);
-static EncodedJSValue numberConstructorMinSafeInteger(ExecState*, JSObject*, EncodedJSValue, PropertyName);
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsFinite(ExecState*);
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsInteger(ExecState*);
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsNaN(ExecState*);
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsSafeInteger(ExecState*);
 
 } // namespace JSC
 
@@ -55,20 +47,11 @@
 
 /* Source for NumberConstructor.lut.h
 @begin numberConstructorTable
-   EPSILON               numberConstructorEpsilonValue      DontEnum|DontDelete|ReadOnly
-   NaN                   numberConstructorNaNValue          DontEnum|DontDelete|ReadOnly
-   NEGATIVE_INFINITY     numberConstructorNegInfinity       DontEnum|DontDelete|ReadOnly
-   POSITIVE_INFINITY     numberConstructorPosInfinity       DontEnum|DontDelete|ReadOnly
-   MAX_VALUE             numberConstructorMaxValue          DontEnum|DontDelete|ReadOnly
-   MIN_VALUE             numberConstructorMinValue          DontEnum|DontDelete|ReadOnly
-   MAX_SAFE_INTEGER      numberConstructorMaxSafeInteger    DontEnum|DontDelete|ReadOnly
-   MIN_SAFE_INTEGER      numberConstructorMinSafeInteger    DontEnum|DontDelete|ReadOnly
-   isFinite              numberConstructorFuncIsFinite      DontEnum|Function 1
-   isInteger             numberConstructorFuncIsInteger     DontEnum|Function 1
-   isNaN                 numberConstructorFuncIsNaN         DontEnum|Function 1
-   isSafeInteger         numberConstructorFuncIsSafeInteger DontEnum|Function 1
-   parseFloat            globalFuncParseFloat                DontEnum|Function 1
-   parseInt              globalFuncParseInt                  DontEnum|Function 2
+   NaN                   numberConstructorNaNValue       DontEnum|DontDelete|ReadOnly
+   NEGATIVE_INFINITY     numberConstructorNegInfinity    DontEnum|DontDelete|ReadOnly
+   POSITIVE_INFINITY     numberConstructorPosInfinity    DontEnum|DontDelete|ReadOnly
+   MAX_VALUE             numberConstructorMaxValue       DontEnum|DontDelete|ReadOnly
+   MIN_VALUE             numberConstructorMinValue       DontEnum|DontDelete|ReadOnly
 @end
 */
 
@@ -91,72 +74,34 @@
 
 bool NumberConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
 {
-    if (isFunction(exec->vm(), propertyName.uid())) {
-        return getStaticFunctionSlot<InternalFunction>(exec, numberConstructorTable,
-            jsCast<NumberConstructor*>(object), propertyName, slot);
-    }
-    return getStaticValueSlot<NumberConstructor, InternalFunction>(exec, numberConstructorTable,
-        jsCast<NumberConstructor*>(object), propertyName, slot);
+    return getStaticValueSlot<NumberConstructor, InternalFunction>(exec, numberConstructorTable, jsCast<NumberConstructor*>(object), propertyName, slot);
 }
 
-bool ALWAYS_INLINE NumberConstructor::isFunction(VM& vm, AtomicStringImpl* propertyName)
-{
-    return propertyName == vm.propertyNames->isFinite
-        || propertyName == vm.propertyNames->isInteger
-        || propertyName == vm.propertyNames->isNaN
-        || propertyName == vm.propertyNames->isSafeInteger
-        || propertyName == vm.propertyNames->parseFloat
-        || propertyName == vm.propertyNames->parseInt;
-}
-
-// ECMA-262 20.1.2.1
-static EncodedJSValue numberConstructorEpsilonValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
-{
-    return JSValue::encode(jsDoubleNumber((std::numeric_limits<double>::epsilon())));
-}
-
-// ECMA-262 20.1.2.8
 static EncodedJSValue numberConstructorNaNValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
 {
     return JSValue::encode(jsNaN());
 }
 
-// ECMA-262 20.1.2.9
 static EncodedJSValue numberConstructorNegInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName)
 {
-    return JSValue::encode(jsDoubleNumber(-std::numeric_limits<double>::infinity()));
+    return JSValue::encode(jsNumber(-std::numeric_limits<double>::infinity()));
 }
 
-// ECMA-262 20.1.2.14
 static EncodedJSValue numberConstructorPosInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName)
 {
-    return JSValue::encode(jsDoubleNumber(std::numeric_limits<double>::infinity()));
+    return JSValue::encode(jsNumber(std::numeric_limits<double>::infinity()));
 }
 
-// ECMA-262 20.1.2.7
 static EncodedJSValue numberConstructorMaxValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
 {
-    return JSValue::encode(jsDoubleNumber(1.7976931348623157E+308));
+    return JSValue::encode(jsNumber(1.7976931348623157E+308));
 }
 
-// ECMA-262 20.1.2.11
 static EncodedJSValue numberConstructorMinValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
 {
-    return JSValue::encode(jsDoubleNumber(5E-324));
+    return JSValue::encode(jsNumber(5E-324));
 }
 
-// ECMA-262 20.1.2.6
-static EncodedJSValue numberConstructorMaxSafeInteger(ExecState*, JSObject*, EncodedJSValue, PropertyName)
-{
-    return JSValue::encode(jsDoubleNumber(9007199254740991.0));
-}
-
-// ECMA-262 20.1.2.7
-static EncodedJSValue numberConstructorMinSafeInteger(ExecState*, JSObject*, EncodedJSValue, PropertyName)
-{
-    return JSValue::encode(jsDoubleNumber(-9007199254740991.0));
-}
-
 // ECMA 15.7.1
 static EncodedJSValue JSC_HOST_CALL constructWithNumberConstructor(ExecState* exec)
 {
@@ -184,50 +129,4 @@
     return CallTypeHost;
 }
 
-// ECMA-262 20.1.2.2
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsFinite(ExecState* exec)
-{
-    JSValue argument = exec->argument(0);
-    return JSValue::encode(jsBoolean(argument.isNumber() && (argument.isInt32() || std::isfinite(argument.asDouble()))));
-}
-
-// ECMA-262 20.1.2.3
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsInteger(ExecState* exec)
-{
-    JSValue argument = exec->argument(0);
-    bool isInteger;
-    if (argument.isInt32())
-        isInteger = true;
-    else if (!argument.isDouble())
-        isInteger = false;
-    else {
-        double number = argument.asDouble();
-        isInteger = std::isfinite(number) && trunc(number) == number;
-    }
-    return JSValue::encode(jsBoolean(isInteger));
-}
-
-// ECMA-262 20.1.2.4
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsNaN(ExecState* exec)
-{
-    JSValue argument = exec->argument(0);
-    return JSValue::encode(jsBoolean(argument.isDouble() && std::isnan(argument.asDouble())));
-}
-
-// ECMA-262 20.1.2.5
-static EncodedJSValue JSC_HOST_CALL numberConstructorFuncIsSafeInteger(ExecState* exec)
-{
-    JSValue argument = exec->argument(0);
-    bool isInteger;
-    if (argument.isInt32())
-        isInteger = true;
-    else if (!argument.isDouble())
-        isInteger = false;
-    else {
-        double number = argument.asDouble();
-        isInteger = trunc(number) == number && std::abs(number) <= 9007199254740991.0;
-    }
-    return JSValue::encode(jsBoolean(isInteger));
-}
-
 } // namespace JSC

Modified: trunk/Source/_javascript_Core/runtime/NumberConstructor.h (173910 => 173911)


--- trunk/Source/_javascript_Core/runtime/NumberConstructor.h	2014-09-24 07:56:52 UTC (rev 173910)
+++ trunk/Source/_javascript_Core/runtime/NumberConstructor.h	2014-09-24 09:14:32 UTC (rev 173911)
@@ -58,7 +58,6 @@
     NumberConstructor(VM&, Structure*);
     static ConstructType getConstructData(JSCell*, ConstructData&);
     static CallType getCallData(JSCell*, CallData&);
-    static bool isFunction(VM&, AtomicStringImpl* propertyName);
 };
 
 } // namespace JSC
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to