<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[190889] trunk/Source/JavaScriptCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/190889">190889</a></dd>
<dt>Author</dt> <dd>sbarati@apple.com</dd>
<dt>Date</dt> <dd>2015-10-12 14:31:28 -0700 (Mon, 12 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update JSC features.json
https://bugs.webkit.org/show_bug.cgi?id=150043

Reviewed by Mark Lam.

There were a lot of things implemented that weren't in
the list. We should be better about updating the list
as we land patches for new ES6 features.

* features.json:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorefeaturesjson">trunk/Source/JavaScriptCore/features.json</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (190888 => 190889)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-10-12 21:29:21 UTC (rev 190888)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-10-12 21:31:28 UTC (rev 190889)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2015-10-12  Saam barati  &lt;sbarati@apple.com&gt;
+
+        Update JSC features.json
+        https://bugs.webkit.org/show_bug.cgi?id=150043
+
+        Reviewed by Mark Lam.
+
+        There were a lot of things implemented that weren't in
+        the list. We should be better about updating the list
+        as we land patches for new ES6 features.
+
+        * features.json:
+
</ins><span class="cx"> 2015-10-12  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Cleanup Heap.h and some related headers
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorefeaturesjson"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/features.json (190888 => 190889)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/features.json        2015-10-12 21:29:21 UTC (rev 190888)
+++ trunk/Source/JavaScriptCore/features.json        2015-10-12 21:31:28 UTC (rev 190889)
</span><span class="lines">@@ -3,7 +3,12 @@
</span><span class="cx">     {
</span><span class="cx">         &quot;name&quot;: &quot;ES6&quot;,
</span><span class="cx">         &quot;url&quot;: &quot;http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts&quot;,
</span><del>-        &quot;keywords&quot;: [&quot;es6&quot;, &quot;es2015&quot;, &quot;ecmascript&quot;]
</del><ins>+        &quot;keywords&quot;: [&quot;es6&quot;, &quot;es2015&quot;, &quot;ecmascript&quot;],
+        &quot;contact&quot;: {
+            &quot;name&quot;: &quot;Saam Barati&quot;,
+            &quot;email&quot;: &quot;sbarati@apple.com&quot;,
+            &quot;twitter&quot;: &quot;@saambarati&quot;
+        }
</ins><span class="cx">     },
</span><span class="cx">     {
</span><span class="cx">         &quot;name&quot;: &quot;ES7&quot;,
</span><span class="lines">@@ -13,7 +18,7 @@
</span><span class="cx">     {
</span><span class="cx">         &quot;name&quot;: &quot;Internationalization API&quot;,
</span><span class="cx">         &quot;status&quot;: {
</span><del>-            &quot;status&quot;: &quot;Work in progress&quot;
</del><ins>+            &quot;status&quot;: &quot;In Development&quot;
</ins><span class="cx">         },
</span><span class="cx">         &quot;url&quot;: &quot;http://ecma-international.org/publications/standards/Ecma-402.htm&quot;,
</span><span class="cx">         &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl&quot;,
</span><span class="lines">@@ -32,7 +37,7 @@
</span><span class="cx">     {
</span><span class="cx">         &quot;name&quot;: &quot;ASM.js&quot;,
</span><span class="cx">         &quot;status&quot;: {
</span><del>-            &quot;status&quot;: &quot;Continuously improving&quot;,
</del><ins>+            &quot;status&quot;: &quot;In Development&quot;,
</ins><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="cx">         },
</span><span class="cx">         &quot;url&quot;: &quot;http://asmjs.org&quot;,
</span><span class="lines">@@ -66,19 +71,74 @@
</span><span class="cx">         &quot;specification&quot;: &quot;ES7&quot;
</span><span class="cx">     },
</span><span class="cx">     {
</span><ins>+        &quot;name&quot;: &quot;Arrow Functions&quot;,
+        &quot;status&quot;: {
+            &quot;status&quot;: &quot;In Development&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/index.html#sec-arrow-function-definitions&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions&quot;,
+        &quot;description&quot;: &quot;Arrow functions are a new type of function expression in ES6 that lexically binds this, new.target, arguments, and super.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;Block Scoping&quot;,
+        &quot;status&quot;: {
+            &quot;status&quot;: &quot;In Development&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarations&quot;,
+        &quot;documentation-url&quot;: &quot;http://www.2ality.com/2015/02/es6-scoping.html&quot;,
+        &quot;description&quot;: &quot;Block Scoping let/const/class variables are a new way of declaring variables that are local to the block they're defined in. They have clearer scoping semantics than var variables.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
</ins><span class="cx">         &quot;name&quot;: &quot;Classes&quot;,
</span><span class="cx">         &quot;status&quot;: {
</span><ins>+            &quot;status&quot;: &quot;In Development&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/#sec-class-definitions&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes&quot;,
+        &quot;description&quot;: &quot;Classes are a way to write object oriented code in JavaScript with standard syntax and semantics.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;Default Parameter Values&quot;,
+        &quot;status&quot;: {
</ins><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="cx">         },
</span><del>-        &quot;url&quot;: &quot;https://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions&quot;,
-        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes&quot;,
-        &quot;webkit-url&quot;: &quot;https://bugs.webkit.org/show_bug.cgi?id=142774&quot;,
</del><ins>+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/#sec-function-definitions&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters&quot;,
+        &quot;description&quot;: &quot;Default parameter values are a convenient way to specify expressions that parameters should evaluate to when undefined (or nothing) is passed in as a function argument.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;Destructuring Syntax&quot;,
+        &quot;status&quot;: {
+            &quot;status&quot;: &quot;Done&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/#sec-destructuring-assignment&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment&quot;,
+        &quot;description&quot;: &quot;Destructuring syntax is a shorthand form that allows you to easily assign local variables to the values of an object or array's properties.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;for...of Loops&quot;,
+        &quot;status&quot;: {
+            &quot;status&quot;: &quot;Done&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://people.mozilla.org/~jorendorff/es6-draft.html#sec-for-in-and-for-of-statements&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of&quot;,
+        &quot;description&quot;: &quot;The for...of loops iterate over the values provided by the iterator of the target object.&quot;,
</ins><span class="cx">         &quot;specification&quot;: &quot;ES6&quot;,
</span><del>-        &quot;description&quot;: &quot;The new class syntax of ES6 provides a new syntax to define and extend JavaScript objects. The class syntax is a new notation, objects still use prototypal inheritance.&quot;
</del><ins>+        &quot;comment&quot;: &quot;Older versions of WebKit only supported iterating JavaScript arrays.&quot;
</ins><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Generators (ES6)&quot;,
</del><ins>+        &quot;name&quot;: &quot;Generators&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><span class="cx">             &quot;status&quot;: &quot;No active development&quot;
</span><span class="cx">         },
</span><span class="lines">@@ -92,7 +152,7 @@
</span><span class="cx">         }
</span><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Map data structure&quot;,
</del><ins>+        &quot;name&quot;: &quot;Map Data Structure&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="lines">@@ -104,19 +164,41 @@
</span><span class="cx">         &quot;specification&quot;: &quot;ES6&quot;
</span><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Number extensions (ES6)&quot;,
</del><ins>+        &quot;name&quot;: &quot;Modules&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><ins>+            &quot;status&quot;: &quot;In Development&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/index.html#sec-modules&quot;,
+        &quot;documentation-url&quot;: &quot;https://hacks.mozilla.org/2015/08/es6-in-depth-modules/&quot;,
+        &quot;description&quot;: &quot;Modules make modularizing code and splitting it across different files easy because the syntax and semantics are now standard in the JavaScript langauge.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;new.target&quot;,
+        &quot;status&quot;: {
</ins><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="cx">         },
</span><ins>+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/#sec-built-in-function-objects&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target&quot;,
+        &quot;description&quot;: &quot;new.target allows you to detect if a function or constructor was instantiated with the new operator, or if instead it was called using normal function calling syntax.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;Number Object Extensions&quot;,
+        &quot;status&quot;: {
+            &quot;status&quot;: &quot;Done&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
</ins><span class="cx">         &quot;url&quot;: &quot;http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number-objects&quot;,
</span><span class="cx">         &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number&quot;,
</span><span class="cx">         &quot;webkit-url&quot;: &quot;https://bugs.webkit.org/show_bug.cgi?id=131707&quot;,
</span><span class="cx">         &quot;specification&quot;: &quot;ES6&quot;,
</span><del>-        &quot;description&quot;: &quot;ES6 extend Number with the methods Number.isFinite(), Number.isInteger(), Number.isSafeInteger(), Number.isNaN() and the attributes Number.EPSILON, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER.&quot;
</del><ins>+        &quot;description&quot;: &quot;Extend Number with the methods Number.isFinite(), Number.isInteger(), Number.isSafeInteger(), Number.isNaN() and the attributes Number.EPSILON, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER.&quot;
</ins><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Octal and binary literals&quot;,
</del><ins>+        &quot;name&quot;: &quot;Octal and Binary Literals&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="lines">@@ -139,7 +221,7 @@
</span><span class="cx">         &quot;specification&quot;: &quot;ES6&quot;
</span><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Proxy Objects (ES6)&quot;,
</del><ins>+        &quot;name&quot;: &quot;Proxy Objects&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><span class="cx">             &quot;status&quot;: &quot;No active development&quot;
</span><span class="cx">         },
</span><span class="lines">@@ -153,8 +235,19 @@
</span><span class="cx">         }
</span><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Set data structure&quot;,
</del><ins>+        &quot;name&quot;: &quot;Reflect API&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><ins>+            &quot;status&quot;: &quot;In Development&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/#sec-reflect-object&quot;,
+        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect&quot;,
+        &quot;description&quot;: &quot;The Reflect API is a way to set properties and call methods on certain objects that can be intercepted by ES6 Proxies.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;Set Data Structure&quot;,
+        &quot;status&quot;: {
</ins><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="cx">         },
</span><span class="lines">@@ -180,7 +273,7 @@
</span><span class="cx">         }
</span><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Tagged templates&quot;,
</del><ins>+        &quot;name&quot;: &quot;Tagged Templates&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="lines">@@ -196,8 +289,19 @@
</span><span class="cx">         }
</span><span class="cx">     },
</span><span class="cx">     {
</span><del>-        &quot;name&quot;: &quot;Template literals&quot;,
</del><ins>+        &quot;name&quot;: &quot;Tail Calls&quot;,
</ins><span class="cx">         &quot;status&quot;: {
</span><ins>+            &quot;status&quot;: &quot;In Development&quot;,
+            &quot;enabled-by-default&quot;: true
+        },
+        &quot;url&quot;: &quot;http://www.ecma-international.org/ecma-262/6.0/index.html#sec-tail-position-calls&quot;,
+        &quot;documentation-url&quot;: &quot;http://www.2ality.com/2015/06/tail-call-optimization.html&quot;,
+        &quot;description&quot;: &quot;Tail Calls allow you to make function calls that are in tail position without growing the stack. It is commonly used to write loops using function calls instead of for or while syntax.&quot;,
+        &quot;specification&quot;: &quot;ES6&quot;
+    },
+    {
+        &quot;name&quot;: &quot;Template Literals&quot;,
+        &quot;status&quot;: {
</ins><span class="cx">             &quot;status&quot;: &quot;Done&quot;,
</span><span class="cx">             &quot;enabled-by-default&quot;: true
</span><span class="cx">         },
</span><span class="lines">@@ -238,18 +342,6 @@
</span><span class="cx">             &quot;name&quot;: &quot;Yusuke Suzuki&quot;,
</span><span class="cx">             &quot;email&quot;: &quot;utatane.tea@gmail.com&quot;
</span><span class="cx">         }
</span><del>-    },
-    {
-        &quot;name&quot;: &quot;for...of loops&quot;,
-        &quot;status&quot;: {
-            &quot;status&quot;: &quot;Done&quot;,
-            &quot;enabled-by-default&quot;: true
-        },
-        &quot;url&quot;: &quot;http://people.mozilla.org/~jorendorff/es6-draft.html#sec-for-in-and-for-of-statements&quot;,
-        &quot;documentation-url&quot;: &quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of&quot;,
-        &quot;description&quot;: &quot;The for...of loops iterate over the values provided by the iterator of the target object.&quot;,
-        &quot;specification&quot;: &quot;ES6&quot;,
-        &quot;comment&quot;: &quot;Older versions of WebKit only supported iterating JavaScript arrays.&quot;
</del><span class="cx">     }
</span><span class="cx">     ]
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>