<!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>[202255] trunk/Source</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/202255">202255</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-06-20 17:26:59 -0700 (Mon, 20 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/202248">r202248</a>.
https://bugs.webkit.org/show_bug.cgi?id=158960

breaks builds on the simulator (Requested by keith_mi_ on
#webkit).

Reverted changeset:

&quot;It should be easy to add a private global helper function for
builtins&quot;
https://bugs.webkit.org/show_bug.cgi?id=158893
http://trac.webkit.org/changeset/202248</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptsbuiltinsbuiltins_generate_combined_headerpy">trunk/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptsbuiltinsbuiltins_modelpy">trunk/Source/JavaScriptCore/Scripts/builtins/builtins_model.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinPromiseCombinedjsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinPromiseSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinprototypeCombinedjsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinprototypeSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinConstructorCombinedjsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinConstructorSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreInternalClashingNamesCombinedjsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreArbitraryConditionalGuardSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreGuardedBuiltinSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreGuardedInternalBuiltinSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreUnguardedBuiltinSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCorexmlCasingTestSeparatejsresult">trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsArrayIteratorPrototypejs">trunk/Source/JavaScriptCore/builtins/ArrayIteratorPrototype.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsArrayPrototypejs">trunk/Source/JavaScriptCore/builtins/ArrayPrototype.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsBuiltinNamesh">trunk/Source/JavaScriptCore/builtins/BuiltinNames.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsGeneratorPrototypejs">trunk/Source/JavaScriptCore/builtins/GeneratorPrototype.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsGlobalObjectjs">trunk/Source/JavaScriptCore/builtins/GlobalObject.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsPromiseOperationsjs">trunk/Source/JavaScriptCore/builtins/PromiseOperations.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsRegExpPrototypejs">trunk/Source/JavaScriptCore/builtins/RegExpPrototype.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsStringPrototypejs">trunk/Source/JavaScriptCore/builtins/StringPrototype.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeBytecodeIntrinsicRegistrycpp">trunk/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp">trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerNodesCodegencpp">trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGOperationscpp">trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSInjectedScriptHostcpp">trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserLexercpp">trunk/Source/JavaScriptCore/parser/Lexer.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserNodesh">trunk/Source/JavaScriptCore/parser/Nodes.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserParsercpp">trunk/Source/JavaScriptCore/parser/Parser.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArrayIteratorPrototypecpp">trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArrayIteratorPrototypeh">trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArrayPrototypecpp">trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonIdentifierscpp">trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonIdentifiersh">trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp">trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeIntlDateTimeFormatcpp">trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeIntlDateTimeFormatPrototypecpp">trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeIntlNumberFormatPrototypecpp">trunk/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeIntlObjectInlinesh">trunk/Source/JavaScriptCore/runtime/IntlObjectInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewConstructorInlinesh">trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewPrototypeFunctionsh">trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp">trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSInternalPromisecpp">trunk/Source/JavaScriptCore/runtime/JSInternalPromise.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSInternalPromiseDeferredcpp">trunk/Source/JavaScriptCore/runtime/JSInternalPromiseDeferred.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromisecpp">trunk/Source/JavaScriptCore/runtime/JSPromise.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromiseDeferredcpp">trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSStringIteratorcpp">trunk/Source/JavaScriptCore/runtime/JSStringIterator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeMapPrototypecpp">trunk/Source/JavaScriptCore/runtime/MapPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeObjectConstructorcpp">trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeReflectObjectcpp">trunk/Source/JavaScriptCore/runtime/ReflectObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStringPrototypecpp">trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypedArrayInlinesh">trunk/Source/JavaScriptCore/runtime/TypedArrayInlines.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformmockmediasourceMockBoxcpp">trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSArrayIteratorcpp">trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSArrayIteratorh">trunk/Source/JavaScriptCore/runtime/JSArrayIterator.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -685,6 +685,7 @@
</span><span class="cx">     runtime/JSArrayBufferConstructor.cpp
</span><span class="cx">     runtime/JSArrayBufferPrototype.cpp
</span><span class="cx">     runtime/JSArrayBufferView.cpp
</span><ins>+    runtime/JSArrayIterator.cpp
</ins><span class="cx">     runtime/JSBoundFunction.cpp
</span><span class="cx">     runtime/JSCJSValue.cpp
</span><span class="cx">     runtime/JSCallee.cpp
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-06-20  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r202248.
+        https://bugs.webkit.org/show_bug.cgi?id=158960
+
+        breaks builds on the simulator (Requested by keith_mi_ on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;It should be easy to add a private global helper function for
+        builtins&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=158893
+        http://trac.webkit.org/changeset/202248
+
</ins><span class="cx"> 2016-06-20  Keith Miller  &lt;keith_miller@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         It should be easy to add a private global helper function for builtins
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1710,7 +1710,7 @@
</span><span class="cx">                 A74DEF95182D991400522C22 /* JSMapIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A74DEF8F182D991400522C22 /* JSMapIterator.cpp */; };
</span><span class="cx">                 A74DEF96182D991400522C22 /* JSMapIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A74DEF90182D991400522C22 /* JSMapIterator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A75706DE118A2BCF0057F88F /* JITArithmetic32_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A75706DD118A2BCF0057F88F /* JITArithmetic32_64.cpp */; };
</span><del>-                A75EE9B218AAB7E200AAD043 /* BuiltinNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A75EE9B018AAB7E200AAD043 /* BuiltinNames.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                A75EE9B218AAB7E200AAD043 /* BuiltinNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A75EE9B018AAB7E200AAD043 /* BuiltinNames.h */; };
</ins><span class="cx">                 A766B44F0EE8DCD1009518CA /* ExecutableAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B48DB50EE74CFC00DCBDB6 /* ExecutableAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A767B5B517A0B9650063D940 /* DFGLoopPreHeaderCreationPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A767B5B317A0B9650063D940 /* DFGLoopPreHeaderCreationPhase.cpp */; };
</span><span class="cx">                 A767B5B617A0B9650063D940 /* DFGLoopPreHeaderCreationPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = A767B5B417A0B9650063D940 /* DFGLoopPreHeaderCreationPhase.h */; };
</span><span class="lines">@@ -1766,6 +1766,8 @@
</span><span class="cx">                 A7B601821639FD2A00372BA3 /* UnlinkedCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = A79E781F15EECBA80047C855 /* UnlinkedCodeBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A7BDAEC817F4EA1400F6140C /* ArrayIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC217F4EA1400F6140C /* ArrayIteratorPrototype.cpp */; };
</span><span class="cx">                 A7BDAEC917F4EA1400F6140C /* ArrayIteratorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BDAEC317F4EA1400F6140C /* ArrayIteratorPrototype.h */; };
</span><ins>+                A7BDAECA17F4EA1400F6140C /* JSArrayIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC417F4EA1400F6140C /* JSArrayIterator.cpp */; };
+                A7BDAECB17F4EA1400F6140C /* JSArrayIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BDAEC517F4EA1400F6140C /* JSArrayIterator.h */; };
</ins><span class="cx">                 A7BFF3C0179868940002F462 /* DFGFiltrationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BFF3BF179868940002F462 /* DFGFiltrationResult.h */; };
</span><span class="cx">                 A7C0C4AC168103020017011D /* JSScriptRefPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C0C4AB167C08CD0017011D /* JSScriptRefPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A7C0C4AD1681067E0017011D /* JSScriptRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C0C4AA167C08CD0017011D /* JSScriptRef.cpp */; };
</span><span class="lines">@@ -3984,6 +3986,8 @@
</span><span class="cx">                 A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSExportMacros.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7BDAEC217F4EA1400F6140C /* ArrayIteratorPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = ArrayIteratorPrototype.cpp; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
</span><span class="cx">                 A7BDAEC317F4EA1400F6140C /* ArrayIteratorPrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrayIteratorPrototype.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A7BDAEC417F4EA1400F6140C /* JSArrayIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = JSArrayIterator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
+                A7BDAEC517F4EA1400F6140C /* JSArrayIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSArrayIterator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A7BFF3BF179868940002F462 /* DFGFiltrationResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGFiltrationResult.h; path = dfg/DFGFiltrationResult.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7C0C4AA167C08CD0017011D /* JSScriptRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScriptRef.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7C0C4AB167C08CD0017011D /* JSScriptRefPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScriptRefPrivate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -5713,6 +5717,8 @@
</span><span class="cx">                                 0F2B66BA17B6B5AB00A7AE3F /* JSArrayBufferView.cpp */,
</span><span class="cx">                                 0F2B66BB17B6B5AB00A7AE3F /* JSArrayBufferView.h */,
</span><span class="cx">                                 0F2B66BC17B6B5AB00A7AE3F /* JSArrayBufferViewInlines.h */,
</span><ins>+                                A7BDAEC417F4EA1400F6140C /* JSArrayIterator.cpp */,
+                                A7BDAEC517F4EA1400F6140C /* JSArrayIterator.h */,
</ins><span class="cx">                                 86FA9E8F142BBB2D001773B7 /* JSBoundFunction.cpp */,
</span><span class="cx">                                 86FA9E90142BBB2E001773B7 /* JSBoundFunction.h */,
</span><span class="cx">                                 657CF45619BF6662004ACBF2 /* JSCallee.cpp */,
</span><span class="lines">@@ -7654,6 +7660,7 @@
</span><span class="cx">                                 0F2B66E717B6B5AB00A7AE3F /* JSArrayBufferPrototype.h in Headers */,
</span><span class="cx">                                 0F2B66E917B6B5AB00A7AE3F /* JSArrayBufferView.h in Headers */,
</span><span class="cx">                                 0F2B66EA17B6B5AB00A7AE3F /* JSArrayBufferViewInlines.h in Headers */,
</span><ins>+                                A7BDAECB17F4EA1400F6140C /* JSArrayIterator.h in Headers */,
</ins><span class="cx">                                 BC18C4180E16F5CD00B34460 /* JSBase.h in Headers */,
</span><span class="cx">                                 140D17D70E8AD4A9000CD17D /* JSBasePrivate.h in Headers */,
</span><span class="cx">                                 86FA9E92142BBB2E001773B7 /* JSBoundFunction.h in Headers */,
</span><span class="lines">@@ -9100,6 +9107,7 @@
</span><span class="cx">                                 0F2B66E617B6B5AB00A7AE3F /* JSArrayBufferPrototype.cpp in Sources */,
</span><span class="cx">                                 0F2B66E817B6B5AB00A7AE3F /* JSArrayBufferView.cpp in Sources */,
</span><span class="cx">                                 A5311C371C77CECA00E6B1B6 /* HeapSnapshotBuilder.cpp in Sources */,
</span><ins>+                                A7BDAECA17F4EA1400F6140C /* JSArrayIterator.cpp in Sources */,
</ins><span class="cx">                                 1421359B0A677F4F00A8195E /* JSBase.cpp in Sources */,
</span><span class="cx">                                 86FA9E91142BBB2E001773B7 /* JSBoundFunction.cpp in Sources */,
</span><span class="cx">                                 1440F8AF0A508D200005F061 /* JSCallbackConstructor.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptsbuiltinsbuiltins_generate_combined_headerpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> #!/usr/bin/env python
</span><span class="cx"> #
</span><del>-# Copyright (c) 2014-2016 Apple Inc. All rights reserved.
</del><ins>+# Copyright (c) 2014, 2015 Apple Inc. All rights reserved.
</ins><span class="cx"> # Copyright (c) 2014 University of Washington. All rights reserved.
</span><span class="cx"> #
</span><span class="cx"> # Redistribution and use in source and binary forms, with or without
</span><span class="lines">@@ -60,7 +60,6 @@
</span><span class="cx">             sections.append(self.generate_section_for_object(object))
</span><span class="cx">         sections.append(self.generate_section_for_code_table_macro())
</span><span class="cx">         sections.append(self.generate_section_for_code_name_macro())
</span><del>-        sections.append(self.generate_section_for_global_private_code_name_macro())
</del><span class="cx">         sections.append(Template(Templates.CombinedHeaderStaticMacros).substitute(args))
</span><span class="cx">         sections.append(Template(Templates.NamespaceBottom).substitute(args))
</span><span class="cx">         sections.append(Template(Templates.HeaderIncludeGuardBottom).substitute(args))
</span><span class="lines">@@ -151,22 +150,3 @@
</span><span class="cx"> 
</span><span class="cx">             lines.append(&quot;    macro(%(funcName)s) \\&quot; % function_args)
</span><span class="cx">         return '\n'.join(lines)
</span><del>-
-    def generate_section_for_global_private_code_name_macro(self):
-        args = {
-            'macroPrefix': self.model().framework.setting('macro_prefix'),
-        }
-
-        lines = []
-        lines.append(&quot;#define %(macroPrefix)s_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \\&quot; % args)
-        functions = filter(lambda function: function.is_global_private, self.model().all_functions())
-        functions.sort(key=lambda x: x.function_name)
-        for function in functions:
-            function_args = {
-                'funcName': function.function_name,
-                'codeName': BuiltinsGenerator.mangledNameForFunction(function),
-            }
-
-            lines.append(&quot;    macro(%(funcName)s, %(codeName)s) \\&quot; % function_args)
-
-        return '\n'.join(lines)
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptsbuiltinsbuiltins_modelpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/builtins/builtins_model.py (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/builtins/builtins_model.py        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/builtins/builtins_model.py        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -41,9 +41,8 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> functionHeadRegExp = re.compile(r&quot;(?:@[\w|=]+\s*\n)*function\s+\w+\s*\(.*?\)&quot;, re.MULTILINE | re.DOTALL)
</span><del>-functionGlobalPrivateRegExp = re.compile(r&quot;.*^@globalPrivate&quot;, re.MULTILINE | re.DOTALL)
-functionIntrinsicRegExp = re.compile(r&quot;.*^@intrinsic=(\w+)&quot;, re.MULTILINE | re.DOTALL)
-functionIsConstructorRegExp = re.compile(r&quot;.*^@constructor&quot;, re.MULTILINE | re.DOTALL)
</del><ins>+functionIntrinsicRegExp = re.compile(r&quot;^@intrinsic=(\w+)\s*\n&quot;, re.MULTILINE | re.DOTALL)
+functionIsConstructorRegExp = re.compile(r&quot;^@constructor&quot;, re.MULTILINE | re.DOTALL)
</ins><span class="cx"> functionNameRegExp = re.compile(r&quot;function\s+(\w+)\s*\(&quot;, re.MULTILINE | re.DOTALL)
</span><span class="cx"> functionParameterFinder = re.compile(r&quot;^function\s+(?:\w+)\s*\(((?:\s*\w+)?\s*(?:\s*,\s*\w+)*)?\s*\)&quot;, re.MULTILINE | re.DOTALL)
</span><span class="cx"> 
</span><span class="lines">@@ -95,12 +94,11 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> class BuiltinFunction:
</span><del>-    def __init__(self, function_name, function_source, parameters, is_constructor, is_global_private, intrinsic):
</del><ins>+    def __init__(self, function_name, function_source, is_constructor, parameters, intrinsic):
</ins><span class="cx">         self.function_name = function_name
</span><span class="cx">         self.function_source = function_source
</span><ins>+        self.is_constructor = is_constructor
</ins><span class="cx">         self.parameters = parameters
</span><del>-        self.is_constructor = is_constructor
-        self.is_global_private = is_global_private
</del><span class="cx">         self.intrinsic = intrinsic
</span><span class="cx">         self.object = None  # Set by the owning BuiltinObject
</span><span class="cx"> 
</span><span class="lines">@@ -121,12 +119,11 @@
</span><span class="cx"> 
</span><span class="cx">         function_name = functionNameRegExp.findall(function_source)[0]
</span><span class="cx">         is_constructor = functionIsConstructorRegExp.match(function_source) != None
</span><del>-        is_global_private = functionGlobalPrivateRegExp.match(function_source) != None
</del><span class="cx">         parameters = [s.strip() for s in functionParameterFinder.findall(function_source)[0].split(',')]
</span><span class="cx">         if len(parameters[0]) == 0:
</span><span class="cx">             parameters = []
</span><span class="cx"> 
</span><del>-        return BuiltinFunction(function_name, function_source, parameters, is_constructor, is_global_private, intrinsic)
</del><ins>+        return BuiltinFunction(function_name, function_source, is_constructor, parameters, intrinsic)
</ins><span class="cx"> 
</span><span class="cx">     def __str__(self):
</span><span class="cx">         interface = &quot;%s(%s)&quot; % (self.function_name, ', '.join(self.parameters))
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinPromiseCombinedjsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -60,8 +60,6 @@
</span><span class="cx">     macro(fulfillPromise) \
</span><span class="cx">     macro(rejectPromise) \
</span><span class="cx"> 
</span><del>-#define JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \
-
</del><span class="cx"> #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx">     JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -109,7 +107,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -116,35 +113,39 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPromiseRejectPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPromiseRejectPromiseCodeLength = 410;
-static const JSC::Intrinsic s_builtinPromiseRejectPromiseCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPromiseRejectPromiseCodeLength = 413;
</ins><span class="cx"> const char* s_builtinPromiseRejectPromiseCode =
</span><span class="cx">     &quot;(function (promise, reason)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var reactions = promise.@promiseRejectReactions;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseResult = reason;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseFulfillReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseRejectReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseState = @promiseRejected;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @InspectorInstrumentation.promiseRejected(promise, reason, reactions);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @triggerPromiseReactions(reactions, reason);\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPromiseFulfillPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPromiseFulfillPromiseCodeLength = 409;
-static const JSC::Intrinsic s_builtinPromiseFulfillPromiseCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPromiseFulfillPromiseCodeLength = 412;
</ins><span class="cx"> const char* s_builtinPromiseFulfillPromiseCode =
</span><span class="cx">     &quot;(function (promise, value)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var reactions = promise.@promiseFulfillReactions;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseResult = value;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseFulfillReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseRejectReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseState = @promiseFulfilled;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @InspectorInstrumentation.promiseFulfilled(promise, value, reactions);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @triggerPromiseReactions(reactions, value);\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -153,7 +154,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinPromiseSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -109,7 +109,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -116,35 +115,39 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPromiseRejectPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPromiseRejectPromiseCodeLength = 410;
-static const JSC::Intrinsic s_builtinPromiseRejectPromiseCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPromiseRejectPromiseCodeLength = 413;
</ins><span class="cx"> const char* s_builtinPromiseRejectPromiseCode =
</span><span class="cx">     &quot;(function (promise, reason)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var reactions = promise.@promiseRejectReactions;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseResult = reason;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseFulfillReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseRejectReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseState = @promiseRejected;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @InspectorInstrumentation.promiseRejected(promise, reason, reactions);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @triggerPromiseReactions(reactions, reason);\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPromiseFulfillPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPromiseFulfillPromiseCodeLength = 409;
-static const JSC::Intrinsic s_builtinPromiseFulfillPromiseCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPromiseFulfillPromiseCodeLength = 412;
</ins><span class="cx"> const char* s_builtinPromiseFulfillPromiseCode =
</span><span class="cx">     &quot;(function (promise, value)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var reactions = promise.@promiseFulfillReactions;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseResult = value;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseFulfillReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseRejectReactions = undefined;\n&quot; \
</span><span class="cx">     &quot;    promise.@promiseState = @promiseFulfilled;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @InspectorInstrumentation.promiseFulfilled(promise, value, reactions);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    @triggerPromiseReactions(reactions, value);\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -153,7 +156,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTIN.PROMISE_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinprototypeCombinedjsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -61,8 +61,6 @@
</span><span class="cx">     macro(every) \
</span><span class="cx">     macro(forEach) \
</span><span class="cx"> 
</span><del>-#define JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \
-
</del><span class="cx"> #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx">     JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -111,7 +109,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -118,12 +115,12 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPrototypeEveryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPrototypeEveryCodeLength = 760;
-static const JSC::Intrinsic s_builtinPrototypeEveryCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPrototypeEveryCodeLength = 762;
</ins><span class="cx"> const char* s_builtinPrototypeEveryCode =
</span><span class="cx">     &quot;(function (callback )\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (this === null)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.every requires that |this| not be null\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -132,6 +129,7 @@
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="cx">     &quot;    var array = @Object(this);\n&quot; \
</span><span class="cx">     &quot;    var length = @toLength(array.length);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (typeof callback !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.every callback must be a function\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -149,12 +147,12 @@
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPrototypeForEachCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPrototypeForEachCodeLength = 692;
-static const JSC::Intrinsic s_builtinPrototypeForEachCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPrototypeForEachCodeLength = 694;
</ins><span class="cx"> const char* s_builtinPrototypeForEachCode =
</span><span class="cx">     &quot;(function (callback )\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (this === null)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.forEach requires that |this| not be null\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -163,6 +161,7 @@
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="cx">     &quot;    var array = @Object(this);\n&quot; \
</span><span class="cx">     &quot;    var length = @toLength(array.length);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (typeof callback !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.forEach callback must be a function\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -179,7 +178,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinprototypeSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -111,7 +111,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -118,12 +117,12 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPrototypeEveryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPrototypeEveryCodeLength = 760;
-static const JSC::Intrinsic s_builtinPrototypeEveryCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPrototypeEveryCodeLength = 762;
</ins><span class="cx"> const char* s_builtinPrototypeEveryCode =
</span><span class="cx">     &quot;(function (callback )\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (this === null)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.every requires that |this| not be null\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -132,6 +131,7 @@
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="cx">     &quot;    var array = @Object(this);\n&quot; \
</span><span class="cx">     &quot;    var length = @toLength(array.length);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (typeof callback !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.every callback must be a function\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -149,12 +149,12 @@
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinPrototypeForEachCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinPrototypeForEachCodeLength = 692;
-static const JSC::Intrinsic s_builtinPrototypeForEachCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinPrototypeForEachCodeLength = 694;
</ins><span class="cx"> const char* s_builtinPrototypeForEachCode =
</span><span class="cx">     &quot;(function (callback )\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (this === null)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.forEach requires that |this| not be null\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -163,6 +163,7 @@
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="cx">     &quot;    var array = @Object(this);\n&quot; \
</span><span class="cx">     &quot;    var length = @toLength(array.length);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (typeof callback !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.prototype.forEach callback must be a function\&quot;);\n&quot; \
</span><span class="cx">     &quot;    \n&quot; \
</span><span class="lines">@@ -179,7 +180,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTIN.PROTOTYPE_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinConstructorCombinedjsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -60,8 +60,6 @@
</span><span class="cx">     macro(from) \
</span><span class="cx">     macro(of) \
</span><span class="cx"> 
</span><del>-#define JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \
-
</del><span class="cx"> #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx">     JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -109,7 +107,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -116,13 +113,14 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinConstructorOfCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinConstructorOfCodeLength = 286;
-static const JSC::Intrinsic s_builtinConstructorOfCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinConstructorOfCodeLength = 294;
</ins><span class="cx"> const char* s_builtinConstructorOfCode =
</span><span class="cx">     &quot;(function ()\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var length = arguments.length;\n&quot; \
</span><ins>+    &quot;    //\n&quot; \
</ins><span class="cx">     &quot;    var array = typeof this === 'function' ? new this(length) : new @Array(length);\n&quot; \
</span><span class="cx">     &quot;    for (var k = 0; k &lt; length; ++k)\n&quot; \
</span><span class="cx">     &quot;        @putByValDirect(array, k, arguments[k]);\n&quot; \
</span><span class="lines">@@ -132,35 +130,49 @@
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinConstructorFromCodeLength = 1979;
-static const JSC::Intrinsic s_builtinConstructorFromCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinConstructorFromCodeLength = 2046;
</ins><span class="cx"> const char* s_builtinConstructorFromCode =
</span><span class="cx">     &quot;(function (items )\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var thisObj = this;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var mapFn = arguments.length &gt; 1 ? arguments[1] : undefined;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var thisArg;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (mapFn !== undefined) {\n&quot; \
</span><span class="cx">     &quot;        if (typeof mapFn !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;            throw new @TypeError(\&quot;Array.from requires that the second argument, when provided, be a function\&quot;);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        if (arguments.length &gt; 2)\n&quot; \
</span><span class="cx">     &quot;            thisArg = arguments[2];\n&quot; \
</span><span class="cx">     &quot;    }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (items == null)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.from requires an array-like object - not null or undefined\&quot;);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var iteratorMethod = items[@symbolIterator];\n&quot; \
</span><span class="cx">     &quot;    if (iteratorMethod != null) {\n&quot; \
</span><span class="cx">     &quot;        if (typeof iteratorMethod !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;            throw new @TypeError(\&quot;Array.from requires that the property of the first argument, items[Symbol.iterator], when exists, be a function\&quot;);\n&quot; \
</span><ins>+    &quot;\n&quot; \
+    &quot;        //\n&quot; \
</ins><span class="cx">     &quot;        var result = (typeof thisObj === \&quot;function\&quot;) ? @Object(new thisObj()) : [];\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        var k = 0;\n&quot; \
</span><span class="cx">     &quot;        var iterator = iteratorMethod.@call(items);\n&quot; \
</span><ins>+    &quot;\n&quot; \
+    &quot;        //\n&quot; \
+    &quot;        //\n&quot; \
+    &quot;        //\n&quot; \
</ins><span class="cx">     &quot;        var wrapper = {\n&quot; \
</span><span class="cx">     &quot;            [@symbolIterator]() {\n&quot; \
</span><span class="cx">     &quot;                return iterator;\n&quot; \
</span><span class="cx">     &quot;            }\n&quot; \
</span><span class="cx">     &quot;        };\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        for (var value of wrapper) {\n&quot; \
</span><span class="cx">     &quot;            if (mapFn)\n&quot; \
</span><span class="cx">     &quot;                @putByValDirect(result, k, thisArg === undefined ? mapFn(value, k) : mapFn.@call(thisArg, value, k));\n&quot; \
</span><span class="lines">@@ -168,12 +180,17 @@
</span><span class="cx">     &quot;                @putByValDirect(result, k, value);\n&quot; \
</span><span class="cx">     &quot;            k += 1;\n&quot; \
</span><span class="cx">     &quot;        }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        result.length = k;\n&quot; \
</span><span class="cx">     &quot;        return result;\n&quot; \
</span><span class="cx">     &quot;    }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var arrayLike = @Object(items);\n&quot; \
</span><span class="cx">     &quot;    var arrayLikeLength = @toLength(arrayLike.length);\n&quot; \
</span><ins>+    &quot;\n&quot; \
+    &quot;    //\n&quot; \
</ins><span class="cx">     &quot;    var result = (typeof thisObj === \&quot;function\&quot;) ? @Object(new thisObj(arrayLikeLength)) : new @Array(arrayLikeLength);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var k = 0;\n&quot; \
</span><span class="cx">     &quot;    while (k &lt; arrayLikeLength) {\n&quot; \
</span><span class="cx">     &quot;        var value = arrayLike[k];\n&quot; \
</span><span class="lines">@@ -183,6 +200,7 @@
</span><span class="cx">     &quot;            @putByValDirect(result, k, value);\n&quot; \
</span><span class="cx">     &quot;        k += 1;\n&quot; \
</span><span class="cx">     &quot;    }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    result.length = arrayLikeLength;\n&quot; \
</span><span class="cx">     &quot;    return result;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="lines">@@ -192,7 +210,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreBuiltinConstructorSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -109,7 +109,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -116,13 +115,14 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinConstructorOfCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinConstructorOfCodeLength = 286;
-static const JSC::Intrinsic s_builtinConstructorOfCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinConstructorOfCodeLength = 294;
</ins><span class="cx"> const char* s_builtinConstructorOfCode =
</span><span class="cx">     &quot;(function ()\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var length = arguments.length;\n&quot; \
</span><ins>+    &quot;    //\n&quot; \
</ins><span class="cx">     &quot;    var array = typeof this === 'function' ? new this(length) : new @Array(length);\n&quot; \
</span><span class="cx">     &quot;    for (var k = 0; k &lt; length; ++k)\n&quot; \
</span><span class="cx">     &quot;        @putByValDirect(array, k, arguments[k]);\n&quot; \
</span><span class="lines">@@ -132,35 +132,49 @@
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_builtinConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_builtinConstructorFromCodeLength = 1979;
-static const JSC::Intrinsic s_builtinConstructorFromCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_builtinConstructorFromCodeLength = 2046;
</ins><span class="cx"> const char* s_builtinConstructorFromCode =
</span><span class="cx">     &quot;(function (items )\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var thisObj = this;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var mapFn = arguments.length &gt; 1 ? arguments[1] : undefined;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var thisArg;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (mapFn !== undefined) {\n&quot; \
</span><span class="cx">     &quot;        if (typeof mapFn !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;            throw new @TypeError(\&quot;Array.from requires that the second argument, when provided, be a function\&quot;);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        if (arguments.length &gt; 2)\n&quot; \
</span><span class="cx">     &quot;            thisArg = arguments[2];\n&quot; \
</span><span class="cx">     &quot;    }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (items == null)\n&quot; \
</span><span class="cx">     &quot;        throw new @TypeError(\&quot;Array.from requires an array-like object - not null or undefined\&quot;);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var iteratorMethod = items[@symbolIterator];\n&quot; \
</span><span class="cx">     &quot;    if (iteratorMethod != null) {\n&quot; \
</span><span class="cx">     &quot;        if (typeof iteratorMethod !== \&quot;function\&quot;)\n&quot; \
</span><span class="cx">     &quot;            throw new @TypeError(\&quot;Array.from requires that the property of the first argument, items[Symbol.iterator], when exists, be a function\&quot;);\n&quot; \
</span><ins>+    &quot;\n&quot; \
+    &quot;        //\n&quot; \
</ins><span class="cx">     &quot;        var result = (typeof thisObj === \&quot;function\&quot;) ? @Object(new thisObj()) : [];\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        var k = 0;\n&quot; \
</span><span class="cx">     &quot;        var iterator = iteratorMethod.@call(items);\n&quot; \
</span><ins>+    &quot;\n&quot; \
+    &quot;        //\n&quot; \
+    &quot;        //\n&quot; \
+    &quot;        //\n&quot; \
</ins><span class="cx">     &quot;        var wrapper = {\n&quot; \
</span><span class="cx">     &quot;            [@symbolIterator]() {\n&quot; \
</span><span class="cx">     &quot;                return iterator;\n&quot; \
</span><span class="cx">     &quot;            }\n&quot; \
</span><span class="cx">     &quot;        };\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        for (var value of wrapper) {\n&quot; \
</span><span class="cx">     &quot;            if (mapFn)\n&quot; \
</span><span class="cx">     &quot;                @putByValDirect(result, k, thisArg === undefined ? mapFn(value, k) : mapFn.@call(thisArg, value, k));\n&quot; \
</span><span class="lines">@@ -168,12 +182,17 @@
</span><span class="cx">     &quot;                @putByValDirect(result, k, value);\n&quot; \
</span><span class="cx">     &quot;            k += 1;\n&quot; \
</span><span class="cx">     &quot;        }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;        result.length = k;\n&quot; \
</span><span class="cx">     &quot;        return result;\n&quot; \
</span><span class="cx">     &quot;    }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var arrayLike = @Object(items);\n&quot; \
</span><span class="cx">     &quot;    var arrayLikeLength = @toLength(arrayLike.length);\n&quot; \
</span><ins>+    &quot;\n&quot; \
+    &quot;    //\n&quot; \
</ins><span class="cx">     &quot;    var result = (typeof thisObj === \&quot;function\&quot;) ? @Object(new thisObj(arrayLikeLength)) : new @Array(arrayLikeLength);\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    var k = 0;\n&quot; \
</span><span class="cx">     &quot;    while (k &lt; arrayLikeLength) {\n&quot; \
</span><span class="cx">     &quot;        var value = arrayLike[k];\n&quot; \
</span><span class="lines">@@ -183,6 +202,7 @@
</span><span class="cx">     &quot;            @putByValDirect(result, k, value);\n&quot; \
</span><span class="cx">     &quot;        k += 1;\n&quot; \
</span><span class="cx">     &quot;    }\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    result.length = arrayLikeLength;\n&quot; \
</span><span class="cx">     &quot;    return result;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="lines">@@ -192,7 +212,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTINCONSTRUCTOR_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedJavaScriptCoreInternalClashingNamesCombinedjsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -59,8 +59,6 @@
</span><span class="cx"> #define JSC_FOREACH_BUILTIN_FUNCTION_NAME(macro) \
</span><span class="cx">     macro(isReadableStreamLocked) \
</span><span class="cx"> 
</span><del>-#define JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \
-
</del><span class="cx"> #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx">     JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -108,7 +106,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinExecutables.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><del>-#include &quot;Intrinsic.h&quot;
</del><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -115,23 +112,23 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_internalClashingNamesIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_internalClashingNamesIsReadableStreamLockedCodeLength = 70;
-static const JSC::Intrinsic s_internalClashingNamesIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_internalClashingNamesIsReadableStreamLockedCodeLength = 71;
</ins><span class="cx"> const char* s_internalClashingNamesIsReadableStreamLockedCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_internalClashingNamesIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_internalClashingNamesIsReadableStreamLockedCodeLength = 70;
-static const JSC::Intrinsic s_internalClashingNamesIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_internalClashingNamesIsReadableStreamLockedCodeLength = 71;
</ins><span class="cx"> const char* s_internalClashingNamesIsReadableStreamLockedCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -140,7 +137,7 @@
</span><span class="cx"> #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><del>-    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source(), Nullopt, s_##codeName##Intrinsic); }
</del><ins>+    return vm.builtinExecutables()-&gt;codeName##Executable()-&gt;link(vm, vm.builtinExecutables()-&gt;codeName##Source()); }
</ins><span class="cx"> JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreArbitraryConditionalGuardSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -162,7 +162,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;runtime/Executable.h&gt;
</span><del>-#include &lt;runtime/Intrinsic.h&gt;
</del><span class="cx"> #include &lt;runtime/JSCJSValueInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/JSCellInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/StructureInlines.h&gt;
</span><span class="lines">@@ -171,12 +170,12 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_arbitraryConditionalGuardIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_arbitraryConditionalGuardIsReadableStreamLockedCodeLength = 70;
-static const JSC::Intrinsic s_arbitraryConditionalGuardIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_arbitraryConditionalGuardIsReadableStreamLockedCodeLength = 71;
</ins><span class="cx"> const char* s_arbitraryConditionalGuardIsReadableStreamLockedCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -186,7 +185,7 @@
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><span class="cx">     JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData); \
</span><del>-    return clientData-&gt;builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Source(), Nullopt, s_##codeName##Intrinsic); \
</del><ins>+    return clientData-&gt;builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Source()); \
</ins><span class="cx"> }
</span><span class="cx"> WEBCORE_FOREACH_ARBITRARYCONDITIONALGUARD_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreGuardedBuiltinSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -162,7 +162,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;runtime/Executable.h&gt;
</span><del>-#include &lt;runtime/Intrinsic.h&gt;
</del><span class="cx"> #include &lt;runtime/JSCJSValueInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/JSCellInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/StructureInlines.h&gt;
</span><span class="lines">@@ -171,12 +170,12 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_guardedBuiltinIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_guardedBuiltinIsReadableStreamLockedCodeLength = 70;
-static const JSC::Intrinsic s_guardedBuiltinIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_guardedBuiltinIsReadableStreamLockedCodeLength = 71;
</ins><span class="cx"> const char* s_guardedBuiltinIsReadableStreamLockedCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -186,7 +185,7 @@
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><span class="cx">     JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData); \
</span><del>-    return clientData-&gt;builtinFunctions().guardedBuiltinBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().guardedBuiltinBuiltins().codeName##Source(), Nullopt, s_##codeName##Intrinsic); \
</del><ins>+    return clientData-&gt;builtinFunctions().guardedBuiltinBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().guardedBuiltinBuiltins().codeName##Source()); \
</ins><span class="cx"> }
</span><span class="cx"> WEBCORE_FOREACH_GUARDEDBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreGuardedInternalBuiltinSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -194,7 +194,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;runtime/Executable.h&gt;
</span><del>-#include &lt;runtime/Intrinsic.h&gt;
</del><span class="cx"> #include &lt;runtime/JSCJSValueInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/JSCellInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/StructureInlines.h&gt;
</span><span class="lines">@@ -203,12 +202,12 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_guardedInternalBuiltinIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_guardedInternalBuiltinIsReadableStreamLockedCodeLength = 70;
-static const JSC::Intrinsic s_guardedInternalBuiltinIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_guardedInternalBuiltinIsReadableStreamLockedCodeLength = 71;
</ins><span class="cx"> const char* s_guardedInternalBuiltinIsReadableStreamLockedCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -218,7 +217,7 @@
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><span class="cx">     JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData); \
</span><del>-    return clientData-&gt;builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Source(), Nullopt, s_##codeName##Intrinsic); \
</del><ins>+    return clientData-&gt;builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Source()); \
</ins><span class="cx"> }
</span><span class="cx"> WEBCORE_FOREACH_GUARDEDINTERNALBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCoreUnguardedBuiltinSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -156,7 +156,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;runtime/Executable.h&gt;
</span><del>-#include &lt;runtime/Intrinsic.h&gt;
</del><span class="cx"> #include &lt;runtime/JSCJSValueInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/JSCellInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/StructureInlines.h&gt;
</span><span class="lines">@@ -165,12 +164,12 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_unguardedBuiltinIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_unguardedBuiltinIsReadableStreamLockedCodeLength = 70;
-static const JSC::Intrinsic s_unguardedBuiltinIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_unguardedBuiltinIsReadableStreamLockedCodeLength = 71;
</ins><span class="cx"> const char* s_unguardedBuiltinIsReadableStreamLockedCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="lines">@@ -180,7 +179,7 @@
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><span class="cx">     JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData); \
</span><del>-    return clientData-&gt;builtinFunctions().unguardedBuiltinBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().unguardedBuiltinBuiltins().codeName##Source(), Nullopt, s_##codeName##Intrinsic); \
</del><ins>+    return clientData-&gt;builtinFunctions().unguardedBuiltinBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().unguardedBuiltinBuiltins().codeName##Source()); \
</ins><span class="cx"> }
</span><span class="cx"> WEBCORE_FOREACH_UNGUARDEDBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreScriptstestsbuiltinsexpectedWebCorexmlCasingTestSeparatejsresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -208,7 +208,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;runtime/Executable.h&gt;
</span><del>-#include &lt;runtime/Intrinsic.h&gt;
</del><span class="cx"> #include &lt;runtime/JSCJSValueInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/JSCellInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/StructureInlines.h&gt;
</span><span class="lines">@@ -217,23 +216,23 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_xmlCasingTestXMLCasingTestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_xmlCasingTestXMLCasingTestCodeLength = 70;
-static const JSC::Intrinsic s_xmlCasingTestXMLCasingTestCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_xmlCasingTestXMLCasingTestCodeLength = 71;
</ins><span class="cx"> const char* s_xmlCasingTestXMLCasingTestCode =
</span><span class="cx">     &quot;(function (stream)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;   \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    return !!stream.@reader;\n&quot; \
</span><span class="cx">     &quot;})\n&quot; \
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_xmlCasingTestCssCasingTestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_xmlCasingTestCssCasingTestCodeLength = 401;
-static const JSC::Intrinsic s_xmlCasingTestCssCasingTestCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_xmlCasingTestCssCasingTestCodeLength = 402;
</ins><span class="cx"> const char* s_xmlCasingTestCssCasingTestCode =
</span><span class="cx">     &quot;(function (stream, reason)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    if (stream.@state === @readableStreamClosed)\n&quot; \
</span><span class="cx">     &quot;        return Promise.resolve();\n&quot; \
</span><span class="cx">     &quot;    if (stream.@state === @readableStreamErrored)\n&quot; \
</span><span class="lines">@@ -245,12 +244,12 @@
</span><span class="cx"> ;
</span><span class="cx"> 
</span><span class="cx"> const JSC::ConstructAbility s_xmlCasingTestUrlCasingTestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
</span><del>-const int s_xmlCasingTestUrlCasingTestCodeLength = 337;
-static const JSC::Intrinsic s_xmlCasingTestUrlCasingTestCodeIntrinsic = JSC::NoIntrinsic;
</del><ins>+const int s_xmlCasingTestUrlCasingTestCodeLength = 338;
</ins><span class="cx"> const char* s_xmlCasingTestUrlCasingTestCode =
</span><span class="cx">     &quot;(function (object, key, args)\n&quot; \
</span><span class="cx">     &quot;{\n&quot; \
</span><span class="cx">     &quot;    \&quot;use strict\&quot;;\n&quot; \
</span><ins>+    &quot;\n&quot; \
</ins><span class="cx">     &quot;    try {\n&quot; \
</span><span class="cx">     &quot;        var method = object[key];\n&quot; \
</span><span class="cx">     &quot;        if (typeof method === \&quot;undefined\&quot;)\n&quot; \
</span><span class="lines">@@ -269,7 +268,7 @@
</span><span class="cx"> JSC::FunctionExecutable* codeName##Generator(JSC::VM&amp; vm) \
</span><span class="cx"> {\
</span><span class="cx">     JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData); \
</span><del>-    return clientData-&gt;builtinFunctions().xmlCasingTestBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().xmlCasingTestBuiltins().codeName##Source(), Nullopt, s_##codeName##Intrinsic); \
</del><ins>+    return clientData-&gt;builtinFunctions().xmlCasingTestBuiltins().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().xmlCasingTestBuiltins().codeName##Source()); \
</ins><span class="cx"> }
</span><span class="cx"> WEBCORE_FOREACH_XMLCASINGTEST_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
</span><span class="cx"> #undef DEFINE_BUILTIN_GENERATOR
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsArrayIteratorPrototypejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/ArrayIteratorPrototype.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/ArrayIteratorPrototype.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/ArrayIteratorPrototype.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     return next.@call(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function arrayIteratorValueNext()
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -64,7 +63,6 @@
</span><span class="cx">     return { done, value };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function arrayIteratorKeyNext()
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -87,7 +85,6 @@
</span><span class="cx">     return { done, value };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function arrayIteratorKeyValueNext()
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsArrayPrototypejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/ArrayPrototype.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/ArrayPrototype.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/ArrayPrototype.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> @constructor
</span><del>-@globalPrivate
</del><span class="cx"> function createArrayIterator(iteratedObject, kind, iterationFunction)
</span><span class="cx"> {
</span><span class="cx">     this.@iteratedObject = iteratedObject;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsBuiltinNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/BuiltinNames.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/BuiltinNames.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/BuiltinNames.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2014, 2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2014 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -27,139 +27,11 @@
</span><span class="cx"> #define BuiltinNames_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BuiltinUtils.h&quot;
</span><del>-#include &quot;BytecodeIntrinsicRegistry.h&quot;
</del><span class="cx"> #include &quot;CommonIdentifiers.h&quot;
</span><span class="cx"> #include &quot;JSCBuiltins.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-#define JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \
-    JSC_COMMON_BYTECODE_INTRINSIC_FUNCTIONS_EACH_NAME(macro) \
-    JSC_COMMON_BYTECODE_INTRINSIC_CONSTANTS_EACH_NAME(macro) \
-    macro(iteratedObject) \
-    macro(arrayIteratorNextIndex) \
-    macro(arrayIterationKind) \
-    macro(arrayIteratorNext) \
-    macro(arrayIteratorIsDone) \
-    macro(arrayIteratorKind) \
-    macro(charCodeAt) \
-    macro(iteratedString) \
-    macro(stringIteratorNextIndex) \
-    macro(promise) \
-    macro(fulfillmentHandler) \
-    macro(rejectionHandler) \
-    macro(index) \
-    macro(deferred) \
-    macro(countdownHolder) \
-    macro(Object) \
-    macro(ownEnumerablePropertyKeys) \
-    macro(Number) \
-    macro(Array) \
-    macro(String) \
-    macro(RegExp) \
-    macro(Map) \
-    macro(Promise) \
-    macro(Reflect) \
-    macro(InternalPromise) \
-    macro(abs) \
-    macro(floor) \
-    macro(trunc) \
-    macro(isFinite) \
-    macro(isNaN) \
-    macro(create) \
-    macro(defineProperty) \
-    macro(getPrototypeOf) \
-    macro(getOwnPropertyDescriptor) \
-    macro(getOwnPropertyNames) \
-    macro(ownKeys) \
-    macro(Error) \
-    macro(RangeError) \
-    macro(TypeError) \
-    macro(typedArrayLength) \
-    macro(typedArraySort) \
-    macro(typedArrayGetOriginalConstructor) \
-    macro(BuiltinLog) \
-    macro(homeObject) \
-    macro(getTemplateObject) \
-    macro(enqueueJob) \
-    macro(handler) \
-    macro(promiseState) \
-    macro(promiseFulfillReactions) \
-    macro(promiseRejectReactions) \
-    macro(promiseResult) \
-    macro(push) \
-    macro(repeatCharacter) \
-    macro(capabilities) \
-    macro(starDefault) \
-    macro(InspectorInstrumentation) \
-    macro(get) \
-    macro(set) \
-    macro(shift) \
-    macro(allocateTypedArray) \
-    macro(Int8Array) \
-    macro(Int16Array) \
-    macro(Int32Array) \
-    macro(Uint8Array) \
-    macro(Uint8ClampedArray) \
-    macro(Uint16Array) \
-    macro(Uint32Array) \
-    macro(Float32Array) \
-    macro(Float64Array) \
-    macro(exec) \
-    macro(generator) \
-    macro(generatorNext) \
-    macro(generatorState) \
-    macro(generatorFrame) \
-    macro(generatorValue) \
-    macro(generatorThis) \
-    macro(generatorResumeMode) \
-    macro(Collator) \
-    macro(DateTimeFormat) \
-    macro(NumberFormat) \
-    macro(intlSubstituteValue) \
-    macro(thisTimeValue) \
-    macro(thisNumberValue) \
-    macro(newTargetLocal) \
-    macro(derivedConstructor) \
-    macro(isBoundFunction) \
-    macro(hasInstanceBoundFunction) \
-    macro(instanceOf) \
-    macro(isArray) \
-    macro(isArrayConstructor) \
-    macro(isConstructor) \
-    macro(isRegExpObject) \
-    macro(concatMemcpy) \
-    macro(appendMemcpy) \
-    macro(predictFinalLengthFromArgumunts) \
-    macro(print) \
-    macro(isSet) \
-    macro(isMap) \
-    macro(regExpCreate) \
-    macro(SetIterator) \
-    macro(setIteratorNext) \
-    macro(replaceUsingRegExp) \
-    macro(replaceUsingStringSearch) \
-    macro(MapIterator) \
-    macro(mapIteratorNext) \
-    macro(regExpBuiltinExec) \
-    macro(regExpMatchFast) \
-    macro(regExpProtoFlagsGetter) \
-    macro(regExpProtoGlobalGetter) \
-    macro(regExpProtoIgnoreCaseGetter) \
-    macro(regExpProtoMultilineGetter) \
-    macro(regExpProtoSourceGetter) \
-    macro(regExpProtoStickyGetter) \
-    macro(regExpProtoUnicodeGetter) \
-    macro(regExpPrototypeSymbolReplace) \
-    macro(regExpReplaceFast) \
-    macro(regExpSearchFast) \
-    macro(regExpSplitFast) \
-    macro(regExpTestFast) \
-    macro(stringIncludesInternal) \
-    macro(stringSplitFast) \
-    macro(stringSubstrInternal)
-
-
</del><span class="cx"> #define INITIALIZE_PRIVATE_TO_PUBLIC_ENTRY(name) m_privateToPublicMap.add(m_##name##PrivateName.impl(), &amp;m_##name);
</span><span class="cx"> #define INITIALIZE_PUBLIC_TO_PRIVATE_ENTRY(name) m_publicToPrivateMap.add(m_##name.impl(), &amp;m_##name##PrivateName);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsGeneratorPrototypejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/GeneratorPrototype.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/GeneratorPrototype.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/GeneratorPrototype.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2015-2016 Yusuke Suzuki &lt;utatane.tea@gmail.com&gt;.
</span><del>- * Copyright (C) 2016 Apple Inc. All rights reserved.
</del><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,7 +25,6 @@
</span><span class="cx"> 
</span><span class="cx"> // 25.3.3.3 GeneratorResume ( generator, value )
</span><span class="cx"> // 25.3.3.4 GeneratorResumeAbrupt(generator, abruptCompletion)
</span><del>-@globalPrivate
</del><span class="cx"> function generatorResume(generator, sentValue, resumeMode)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsGlobalObjectjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/GlobalObject.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/GlobalObject.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/GlobalObject.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> 
</span><span class="cx"> // @internal
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function toInteger(target)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -39,7 +38,6 @@
</span><span class="cx">     return @trunc(numberValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function toLength(target)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -50,7 +48,6 @@
</span><span class="cx">     return length &gt; 0 ? (length &lt; maxSafeInteger ? length : maxSafeInteger) : 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function isDictionary(object)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -60,13 +57,11 @@
</span><span class="cx"> 
</span><span class="cx"> // FIXME: this needs to have it's name changed to &quot;get [Symbol.species]&quot;.
</span><span class="cx"> // see: https://bugs.webkit.org/show_bug.cgi?id=151363
</span><del>-@globalPrivate
</del><span class="cx"> function speciesGetter()
</span><span class="cx"> {
</span><span class="cx">     return this;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function speciesConstructor(obj, defaultConstructor)
</span><span class="cx"> {
</span><span class="cx">     var constructor = obj.constructor;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsPromiseOperationsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/PromiseOperations.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/PromiseOperations.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/PromiseOperations.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2015 Yusuke Suzuki &lt;utatane.tea@gmail.com&gt;.
</span><del>- * Copyright (C) 2016 Apple Inc. All rights reserved.
</del><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,7 +25,6 @@
</span><span class="cx"> 
</span><span class="cx"> // @internal
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function isPromise(promise)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -34,7 +32,6 @@
</span><span class="cx">     return @isObject(promise) &amp;&amp; !!promise.@promiseState;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function newPromiseReaction(capability, handler)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -45,7 +42,6 @@
</span><span class="cx">     };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function newPromiseCapability(constructor)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -84,7 +80,6 @@
</span><span class="cx">     return promiseCapability;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function triggerPromiseReactions(reactions, argument)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -93,7 +88,6 @@
</span><span class="cx">         @enqueueJob(@promiseReactionJob, [reactions[index], argument]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function rejectPromise(promise, reason)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -109,7 +103,6 @@
</span><span class="cx">     @triggerPromiseReactions(reactions, reason);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function fulfillPromise(promise, value)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -125,7 +118,6 @@
</span><span class="cx">     @triggerPromiseReactions(reactions, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function createResolvingFunctions(promise)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -172,7 +164,6 @@
</span><span class="cx">     };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function promiseReactionJob(reaction, argument)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -189,7 +180,6 @@
</span><span class="cx">     return promiseCapability.@resolve.@call(@undefined, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function promiseResolveThenableJob(promiseToResolve, thenable, then)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -203,7 +193,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function initializePromise(executor)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsRegExpPrototypejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/RegExpPrototype.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/RegExpPrototype.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/RegExpPrototype.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function advanceStringIndex(string, index, unicode)
</span><span class="cx"> {
</span><span class="cx">     // This function implements AdvanceStringIndex described in ES6 21.2.5.2.3.
</span><span class="lines">@@ -46,7 +45,6 @@
</span><span class="cx">     return index + 2;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function regExpExec(regexp, str)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -62,7 +60,6 @@
</span><span class="cx">     return builtinExec.@call(regexp, str);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function hasObservableSideEffectsForRegExpMatch(regexp) {
</span><span class="cx">     // This is accessed by the RegExpExec internal function.
</span><span class="cx">     let regexpExec = @tryGetById(regexp, &quot;exec&quot;);
</span><span class="lines">@@ -329,7 +326,6 @@
</span><span class="cx">     return result.index;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function hasObservableSideEffectsForRegExpSplit(regexp) {
</span><span class="cx">     // This is accessed by the RegExpExec internal function.
</span><span class="cx">     let regexpExec = @tryGetById(regexp, &quot;exec&quot;);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsStringPrototypejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/builtins/StringPrototype.js (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/StringPrototype.js        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/builtins/StringPrototype.js        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx">     return createdRegExp.@matchSymbol(thisString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function repeatSlowPath(string, count)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -85,7 +84,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><ins>+
</ins><span class="cx"> function repeatCharactersSlowPath(string, count)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span><span class="lines">@@ -203,7 +202,6 @@
</span><span class="cx">     return string + truncatedStringFiller;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@globalPrivate
</del><span class="cx"> function hasObservableSideEffectsForStringReplace(regexp, replacer) {
</span><span class="cx">     if (replacer !== @regExpPrototypeSymbolReplace)
</span><span class="cx">         return true;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeBytecodeIntrinsicRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -26,10 +26,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;BytecodeIntrinsicRegistry.h&quot;
</span><del>-
-#include &quot;ArrayIteratorPrototype.h&quot;
-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;BytecodeGenerator.h&quot;
</span><ins>+#include &quot;JSArrayIterator.h&quot;
</ins><span class="cx"> #include &quot;JSCJSValueInlines.h&quot;
</span><span class="cx"> #include &quot;JSGeneratorFunction.h&quot;
</span><span class="cx"> #include &quot;JSPromise.h&quot;
</span><span class="lines">@@ -38,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-#define INITIALIZE_BYTECODE_INTRINSIC_NAMES_TO_SET(name) m_bytecodeIntrinsicMap.add(vm.propertyNames-&gt;builtinNames().name##PrivateName().impl(), &amp;BytecodeIntrinsicNode::emit_intrinsic_##name);
</del><ins>+#define INITIALIZE_BYTECODE_INTRINSIC_NAMES_TO_SET(name) m_bytecodeIntrinsicMap.add(vm.propertyNames-&gt;name##PrivateName.impl(), &amp;BytecodeIntrinsicNode::emit_intrinsic_##name);
</ins><span class="cx"> 
</span><span class="cx"> BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry(VM&amp; vm)
</span><span class="cx">     : m_vm(vm)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -910,12 +910,12 @@
</span><span class="cx"> 
</span><span class="cx">         if (m_codeType == FunctionCode &amp;&amp; isNewTargetUsedInInnerArrowFunction()) {
</span><span class="cx">             offset = functionSymbolTable-&gt;takeNextScopeOffset();
</span><del>-            functionSymbolTable-&gt;set(NoLockingNecessary, propertyNames().builtinNames().newTargetLocalPrivateName().impl(), SymbolTableEntry(VarOffset(offset)));
</del><ins>+            functionSymbolTable-&gt;set(NoLockingNecessary, propertyNames().newTargetLocalPrivateName.impl(), SymbolTableEntry(VarOffset(offset)));
</ins><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         if (isConstructor() &amp;&amp; constructorKind() == ConstructorKind::Derived &amp;&amp; isSuperUsedInInnerArrowFunction()) {
</span><span class="cx">             offset = functionSymbolTable-&gt;takeNextScopeOffset(NoLockingNecessary);
</span><del>-            functionSymbolTable-&gt;set(NoLockingNecessary, propertyNames().builtinNames().derivedConstructorPrivateName().impl(), SymbolTableEntry(VarOffset(offset)));
</del><ins>+            functionSymbolTable-&gt;set(NoLockingNecessary, propertyNames().derivedConstructorPrivateName.impl(), SymbolTableEntry(VarOffset(offset)));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         return;
</span><span class="lines">@@ -930,13 +930,13 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (m_codeType == FunctionCode &amp;&amp; isNewTargetUsedInInnerArrowFunction()) {
</span><del>-        auto addTarget = environment.add(propertyNames().builtinNames().newTargetLocalPrivateName());
</del><ins>+        auto addTarget = environment.add(propertyNames().newTargetLocalPrivateName);
</ins><span class="cx">         addTarget.iterator-&gt;value.setIsCaptured();
</span><span class="cx">         addTarget.iterator-&gt;value.setIsLet();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (isConstructor() &amp;&amp; constructorKind() == ConstructorKind::Derived &amp;&amp; isSuperUsedInInnerArrowFunction()) {
</span><del>-        auto derivedConstructor = environment.add(propertyNames().builtinNames().derivedConstructorPrivateName());
</del><ins>+        auto derivedConstructor = environment.add(propertyNames().derivedConstructorPrivateName);
</ins><span class="cx">         derivedConstructor.iterator-&gt;value.setIsCaptured();
</span><span class="cx">         derivedConstructor.iterator-&gt;value.setIsLet();
</span><span class="cx">     }
</span><span class="lines">@@ -2977,9 +2977,9 @@
</span><span class="cx"> 
</span><span class="cx"> ExpectedFunction BytecodeGenerator::expectedFunctionForIdentifier(const Identifier&amp; identifier)
</span><span class="cx"> {
</span><del>-    if (identifier == propertyNames().Object || identifier == propertyNames().builtinNames().ObjectPrivateName())
</del><ins>+    if (identifier == m_vm-&gt;propertyNames-&gt;Object || identifier == m_vm-&gt;propertyNames-&gt;ObjectPrivateName)
</ins><span class="cx">         return ExpectObjectConstructor;
</span><del>-    if (identifier == propertyNames().Array || identifier == propertyNames().builtinNames().ArrayPrivateName())
</del><ins>+    if (identifier == m_vm-&gt;propertyNames-&gt;Array || identifier == m_vm-&gt;propertyNames-&gt;ArrayPrivateName)
</ins><span class="cx">         return ExpectArrayConstructor;
</span><span class="cx">     return NoExpectedFunction;
</span><span class="cx"> }
</span><span class="lines">@@ -4045,7 +4045,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;RegisterID&gt; getTemplateObject = nullptr;
</span><del>-    Variable var = variable(propertyNames().builtinNames().getTemplateObjectPrivateName());
</del><ins>+    Variable var = variable(propertyNames().getTemplateObjectPrivateName);
</ins><span class="cx">     if (RegisterID* local = var.local())
</span><span class="cx">         getTemplateObject = emitMove(newTemporary(), local);
</span><span class="cx">     else {
</span><span class="lines">@@ -4235,16 +4235,16 @@
</span><span class="cx">     
</span><span class="cx"> RegisterID* BytecodeGenerator::emitLoadNewTargetFromArrowFunctionLexicalEnvironment()
</span><span class="cx"> {
</span><del>-    Variable newTargetVar = variable(propertyNames().builtinNames().newTargetLocalPrivateName());
</del><ins>+    Variable newTargetVar = variable(propertyNames().newTargetLocalPrivateName);
</ins><span class="cx"> 
</span><del>-    return emitGetFromScope(m_newTargetRegister, emitLoadArrowFunctionLexicalEnvironment(propertyNames().builtinNames().newTargetLocalPrivateName()), newTargetVar, ThrowIfNotFound);
</del><ins>+    return emitGetFromScope(m_newTargetRegister, emitLoadArrowFunctionLexicalEnvironment(propertyNames().newTargetLocalPrivateName), newTargetVar, ThrowIfNotFound);
</ins><span class="cx">     
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RegisterID* BytecodeGenerator::emitLoadDerivedConstructorFromArrowFunctionLexicalEnvironment()
</span><span class="cx"> {
</span><del>-    Variable protoScopeVar = variable(propertyNames().builtinNames().derivedConstructorPrivateName());
-    return emitGetFromScope(newTemporary(), emitLoadArrowFunctionLexicalEnvironment(propertyNames().builtinNames().derivedConstructorPrivateName()), protoScopeVar, ThrowIfNotFound);
</del><ins>+    Variable protoScopeVar = variable(propertyNames().derivedConstructorPrivateName);
+    return emitGetFromScope(newTemporary(), emitLoadArrowFunctionLexicalEnvironment(propertyNames().derivedConstructorPrivateName), protoScopeVar, ThrowIfNotFound);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RegisterID* BytecodeGenerator::ensureThis()
</span><span class="lines">@@ -4288,7 +4288,7 @@
</span><span class="cx">     if (isNewTargetUsedInInnerArrowFunction()) {
</span><span class="cx">         ASSERT(m_arrowFunctionContextLexicalEnvironmentRegister);
</span><span class="cx">         
</span><del>-        Variable newTargetVar = variable(propertyNames().builtinNames().newTargetLocalPrivateName());
</del><ins>+        Variable newTargetVar = variable(propertyNames().newTargetLocalPrivateName);
</ins><span class="cx">         emitPutToScope(m_arrowFunctionContextLexicalEnvironmentRegister, newTargetVar, newTarget(), DoNotThrowIfNotFound, InitializationMode::Initialization);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -4299,7 +4299,7 @@
</span><span class="cx">         if (isSuperUsedInInnerArrowFunction()) {
</span><span class="cx">             ASSERT(m_arrowFunctionContextLexicalEnvironmentRegister);
</span><span class="cx">             
</span><del>-            Variable protoScope = variable(propertyNames().builtinNames().derivedConstructorPrivateName());
</del><ins>+            Variable protoScope = variable(propertyNames().derivedConstructorPrivateName);
</ins><span class="cx">             emitPutToScope(m_arrowFunctionContextLexicalEnvironmentRegister, protoScope, &amp;m_calleeRegister, DoNotThrowIfNotFound, InitializationMode::Initialization);
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -4564,7 +4564,7 @@
</span><span class="cx"> void BytecodeGenerator::emitGeneratorStateChange(int32_t state)
</span><span class="cx"> {
</span><span class="cx">     RegisterID* completedState = emitLoad(nullptr, jsNumber(state));
</span><del>-    emitPutById(generatorRegister(), propertyNames().builtinNames().generatorStatePrivateName(), completedState);
</del><ins>+    emitPutById(generatorRegister(), propertyNames().generatorStatePrivateName, completedState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void BytecodeGenerator::emitGeneratorStateLabel()
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerNodesCodegencpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -161,12 +161,12 @@
</span><span class="cx"> {
</span><span class="cx">     if (generator.isDerivedClassContext() || generator.isDerivedConstructorContext()) {
</span><span class="cx">         RegisterID* derivedConstructor = generator.emitLoadDerivedConstructorFromArrowFunctionLexicalEnvironment();
</span><del>-        return generator.emitGetById(generator.newTemporary(), derivedConstructor, generator.propertyNames().builtinNames().homeObjectPrivateName());
</del><ins>+        return generator.emitGetById(generator.newTemporary(), derivedConstructor, generator.propertyNames().homeObjectPrivateName);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RegisterID callee;
</span><span class="cx">     callee.setIndex(JSStack::Callee);
</span><del>-    return generator.emitGetById(generator.newTemporary(), &amp;callee, generator.propertyNames().builtinNames().homeObjectPrivateName());
</del><ins>+    return generator.emitGetById(generator.newTemporary(), &amp;callee, generator.propertyNames().homeObjectPrivateName);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static RegisterID* emitSuperBaseForCallee(BytecodeGenerator&amp; generator)
</span><span class="lines">@@ -457,7 +457,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline void emitPutHomeObject(BytecodeGenerator&amp; generator, RegisterID* function, RegisterID* homeObject)
</span><span class="cx"> {
</span><del>-    generator.emitPutById(function, generator.propertyNames().builtinNames().homeObjectPrivateName(), homeObject);
</del><ins>+    generator.emitPutById(function, generator.propertyNames().homeObjectPrivateName, homeObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RegisterID* PropertyListNode::emitBytecode(BytecodeGenerator&amp; generator, RegisterID* dst)
</span><span class="lines">@@ -3282,14 +3282,14 @@
</span><span class="cx">         // But to make it efficient, we will introduce JSGenerator class, add opcode new_generator and use its C++ fields instead of these private properties.
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=151545
</span><span class="cx"> 
</span><del>-        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().builtinNames().generatorNextPrivateName(), next.get(), PropertyNode::KnownDirect);
</del><ins>+        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().generatorNextPrivateName, next.get(), PropertyNode::KnownDirect);
</ins><span class="cx"> 
</span><del>-        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().builtinNames().generatorThisPrivateName(), generator.thisRegister(), PropertyNode::KnownDirect);
</del><ins>+        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().generatorThisPrivateName, generator.thisRegister(), PropertyNode::KnownDirect);
</ins><span class="cx"> 
</span><span class="cx">         RegisterID* initialState = generator.emitLoad(nullptr, jsNumber(0));
</span><del>-        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().builtinNames().generatorStatePrivateName(), initialState, PropertyNode::KnownDirect);
</del><ins>+        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().generatorStatePrivateName, initialState, PropertyNode::KnownDirect);
</ins><span class="cx"> 
</span><del>-        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().builtinNames().generatorFramePrivateName(), generator.emitLoad(nullptr, jsNull()), PropertyNode::KnownDirect);
</del><ins>+        generator.emitDirectPutById(generator.generatorRegister(), generator.propertyNames().generatorFramePrivateName, generator.emitLoad(nullptr, jsNull()), PropertyNode::KnownDirect);
</ins><span class="cx"> 
</span><span class="cx">         ASSERT(startOffset() &gt;= lineStartOffset());
</span><span class="cx">         generator.emitDebugHook(WillLeaveCallFrame, lastLine(), startOffset(), lineStartOffset());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -48,7 +48,6 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JITExceptions.h&quot;
</span><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><del>-#include &quot;JSGenericTypedArrayViewConstructorInlines.h&quot;
</del><span class="cx"> #include &quot;JSLexicalEnvironment.h&quot;
</span><span class="cx"> #include &quot;ObjectConstructor.h&quot;
</span><span class="cx"> #include &quot;Repatch.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSInjectedScriptHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013, 2015-2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2013, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;InjectedScriptHost.h&quot;
</span><span class="cx"> #include &quot;IteratorOperations.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><ins>+#include &quot;JSArrayIterator.h&quot;
</ins><span class="cx"> #include &quot;JSBoundFunction.h&quot;
</span><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="lines">@@ -175,7 +176,8 @@
</span><span class="cx">     if (value.inherits(JSWeakSet::info()))
</span><span class="cx">         return jsNontrivialString(exec, ASCIILiteral(&quot;weakset&quot;));
</span><span class="cx"> 
</span><del>-    if (value.inherits(JSMapIterator::info())
</del><ins>+    if (value.inherits(JSArrayIterator::info())
+        || value.inherits(JSMapIterator::info())
</ins><span class="cx">         || value.inherits(JSSetIterator::info())
</span><span class="cx">         || value.inherits(JSStringIterator::info())
</span><span class="cx">         || value.inherits(JSPropertyNameIterator::info()))
</span><span class="lines">@@ -317,6 +319,28 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    if (JSArrayIterator* arrayIterator = jsDynamicCast&lt;JSArrayIterator*&gt;(value)) {
+        String kind;
+        switch (arrayIterator-&gt;kind(exec)) {
+        case ArrayIterateKey:
+            kind = ASCIILiteral(&quot;key&quot;);
+            break;
+        case ArrayIterateValue:
+            kind = ASCIILiteral(&quot;value&quot;);
+            break;
+        case ArrayIterateKeyValue:
+            kind = ASCIILiteral(&quot;key+value&quot;);
+            break;
+        }
+        unsigned index = 0;
+        JSArray* array = constructEmptyArray(exec, nullptr, 2);
+        if (UNLIKELY(vm.exception()))
+            return jsUndefined();
+        array-&gt;putDirectIndex(exec, index++, constructInternalProperty(exec, &quot;array&quot;, arrayIterator-&gt;iteratedValue(exec)));
+        array-&gt;putDirectIndex(exec, index++, constructInternalProperty(exec, &quot;kind&quot;, jsNontrivialString(exec, kind)));
+        return array;
+    }
+
</ins><span class="cx">     if (JSMapIterator* mapIterator = jsDynamicCast&lt;JSMapIterator*&gt;(value)) {
</span><span class="cx">         String kind;
</span><span class="cx">         switch (mapIterator-&gt;kind()) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserLexercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Lexer.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Lexer.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/parser/Lexer.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  *  Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
</span><del>- *  Copyright (C) 2006-2009, 2011-2013, 2016 Apple Inc. All Rights Reserved.
</del><ins>+ *  Copyright (C) 2006, 2007, 2008, 2009, 2011, 2012, 2013 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *  Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca)
</span><span class="cx">  *  Copyright (C) 2010 Zoltan Herczeg (zherczeg@inf.u-szeged.hu)
</span><span class="cx">  *  Copyright (C) 2012 Mathias Bynens (mathias@qiwi.be)
</span><span class="lines">@@ -939,7 +939,7 @@
</span><span class="cx">             if (isPrivateName)
</span><span class="cx">                 ident = m_vm-&gt;propertyNames-&gt;lookUpPrivateName(*ident);
</span><span class="cx">             else if (*ident == m_vm-&gt;propertyNames-&gt;undefinedKeyword)
</span><del>-                tokenData-&gt;ident = &amp;m_vm-&gt;propertyNames-&gt;builtinNames().undefinedPrivateName();
</del><ins>+                tokenData-&gt;ident = &amp;m_vm-&gt;propertyNames-&gt;undefinedPrivateName;
</ins><span class="cx">             if (!ident)
</span><span class="cx">                 return INVALID_PRIVATE_NAME_ERRORTOK;
</span><span class="cx">         }
</span><span class="lines">@@ -1016,7 +1016,7 @@
</span><span class="cx">             if (isPrivateName)
</span><span class="cx">                 ident = m_vm-&gt;propertyNames-&gt;lookUpPrivateName(*ident);
</span><span class="cx">             else if (*ident == m_vm-&gt;propertyNames-&gt;undefinedKeyword)
</span><del>-                tokenData-&gt;ident = &amp;m_vm-&gt;propertyNames-&gt;builtinNames().undefinedPrivateName();
</del><ins>+                tokenData-&gt;ident = &amp;m_vm-&gt;propertyNames-&gt;undefinedPrivateName;
</ins><span class="cx">             if (!ident)
</span><span class="cx">                 return INVALID_PRIVATE_NAME_ERRORTOK;
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserNodesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Nodes.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Nodes.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/parser/Nodes.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #ifndef Nodes_h
</span><span class="cx"> #define Nodes_h
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;JITCode.h&quot;
</span><span class="cx"> #include &quot;Opcode.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Parser.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Parser.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/parser/Parser.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1897,23 +1897,23 @@
</span><span class="cx">     JSTextPosition position = tokenStartPosition();
</span><span class="cx"> 
</span><span class="cx">     // @generator
</span><del>-    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;builtinNames().generatorPrivateName());
-    auto generator = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;builtinNames().generatorPrivateName(), position, position, AssignmentContext::DeclarationStatement);
</del><ins>+    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;generatorPrivateName);
+    auto generator = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;generatorPrivateName, position, position, AssignmentContext::DeclarationStatement);
</ins><span class="cx">     context.appendParameter(parameters, generator, 0);
</span><span class="cx"> 
</span><span class="cx">     // @generatorState
</span><del>-    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;builtinNames().generatorStatePrivateName());
-    auto generatorState = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;builtinNames().generatorStatePrivateName(), position, position, AssignmentContext::DeclarationStatement);
</del><ins>+    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;generatorStatePrivateName);
+    auto generatorState = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;generatorStatePrivateName, position, position, AssignmentContext::DeclarationStatement);
</ins><span class="cx">     context.appendParameter(parameters, generatorState, 0);
</span><span class="cx"> 
</span><span class="cx">     // @generatorValue
</span><del>-    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;builtinNames().generatorValuePrivateName());
-    auto generatorValue = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;builtinNames().generatorValuePrivateName(), position, position, AssignmentContext::DeclarationStatement);
</del><ins>+    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;generatorValuePrivateName);
+    auto generatorValue = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;generatorValuePrivateName, position, position, AssignmentContext::DeclarationStatement);
</ins><span class="cx">     context.appendParameter(parameters, generatorValue, 0);
</span><span class="cx"> 
</span><span class="cx">     // @generatorResumeMode
</span><del>-    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;builtinNames().generatorResumeModePrivateName());
-    auto generatorResumeMode = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;builtinNames().generatorResumeModePrivateName(), position, position, AssignmentContext::DeclarationStatement);
</del><ins>+    declareParameter(&amp;m_vm-&gt;propertyNames-&gt;generatorResumeModePrivateName);
+    auto generatorResumeMode = context.createBindingLocation(location, m_vm-&gt;propertyNames-&gt;generatorResumeModePrivateName, position, position, AssignmentContext::DeclarationStatement);
</ins><span class="cx">     context.appendParameter(parameters, generatorResumeMode, 0);
</span><span class="cx"> 
</span><span class="cx">     return parameters;
</span><span class="lines">@@ -2871,15 +2871,15 @@
</span><span class="cx">             TreeExpression expression = parseAssignmentExpression(context);
</span><span class="cx">             failIfFalse(expression, &quot;Cannot parse expression&quot;);
</span><span class="cx"> 
</span><del>-            DeclarationResultMask declarationResult = declareVariable(&amp;m_vm-&gt;propertyNames-&gt;builtinNames().starDefaultPrivateName(), DeclarationType::ConstDeclaration);
</del><ins>+            DeclarationResultMask declarationResult = declareVariable(&amp;m_vm-&gt;propertyNames-&gt;starDefaultPrivateName, DeclarationType::ConstDeclaration);
</ins><span class="cx">             if (declarationResult &amp; DeclarationResult::InvalidDuplicateDeclaration)
</span><span class="cx">                 internalFailWithMessage(false, &quot;Only one 'default' export is allowed&quot;);
</span><span class="cx"> 
</span><del>-            TreeExpression assignment = context.createAssignResolve(location, m_vm-&gt;propertyNames-&gt;builtinNames().starDefaultPrivateName(), expression, start, start, tokenEndPosition(), AssignmentContext::ConstDeclarationStatement);
</del><ins>+            TreeExpression assignment = context.createAssignResolve(location, m_vm-&gt;propertyNames-&gt;starDefaultPrivateName, expression, start, start, tokenEndPosition(), AssignmentContext::ConstDeclarationStatement);
</ins><span class="cx">             result = context.createExprStatement(location, assignment, start, tokenEndPosition());
</span><span class="cx">             if (!isFunctionOrClassDeclaration)
</span><span class="cx">                 failIfFalse(autoSemiColon(), &quot;Expected a ';' following a targeted export declaration&quot;);
</span><del>-            localName = &amp;m_vm-&gt;propertyNames-&gt;builtinNames().starDefaultPrivateName();
</del><ins>+            localName = &amp;m_vm-&gt;propertyNames-&gt;starDefaultPrivateName;
</ins><span class="cx">         }
</span><span class="cx">         failIfFalse(result, &quot;Cannot parse the declaration&quot;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArrayIteratorPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ArrayIteratorPrototype.lut.h&quot;
</span><span class="cx"> #include &quot;IteratorOperations.h&quot;
</span><ins>+#include &quot;JSArrayIterator.h&quot;
</ins><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><span class="cx"> #include &quot;JSCJSValueInlines.h&quot;
</span><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="lines">@@ -37,6 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><ins>+
</ins><span class="cx"> const ClassInfo ArrayIteratorPrototype::s_info = { &quot;Array Iterator&quot;, &amp;Base::s_info, &amp;arrayIteratorPrototypeTable, CREATE_METHOD_TABLE(ArrayIteratorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> /* Source for ArrayIteratorPrototype.lut.h
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArrayIteratorPrototypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -30,12 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-enum ArrayIterationKind : uint32_t {
-    ArrayIterateKey,
-    ArrayIterateValue,
-    ArrayIterateKeyValue
-};
-
</del><span class="cx"> class ArrayIteratorPrototype : public JSNonFinalObject {
</span><span class="cx"> public:
</span><span class="cx">     typedef JSNonFinalObject Base;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArrayPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;Interpreter.h&quot;
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JSArrayInlines.h&quot;
</span><ins>+#include &quot;JSArrayIterator.h&quot;
</ins><span class="cx"> #include &quot;JSCBuiltins.h&quot;
</span><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><span class="cx"> #include &quot;JSStringBuilder.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifierscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- *  Copyright (C) 2003, 2007, 2009, 2012, 2016 Apple Inc. All rights reserved.
</del><ins>+ *  Copyright (C) 2003, 2007, 2009, 2012 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  *  This library is free software; you can redistribute it and/or
</span><span class="cx">  *  modify it under the terms of the GNU Library General Public
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx">     , m_builtinNames(new BuiltinNames(vm, this))
</span><span class="cx">     JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(INITIALIZE_KEYWORD)
</span><span class="cx">     JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_PROPERTY_NAME)
</span><ins>+    JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_PRIVATE_NAME)
</ins><span class="cx">     JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(INITIALIZE_SYMBOL)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifiersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #ifndef CommonIdentifiers_h
</span><span class="cx"> #define CommonIdentifiers_h
</span><span class="cx"> 
</span><ins>+#include &quot;BytecodeIntrinsicRegistry.h&quot;
</ins><span class="cx"> #include &quot;Identifier.h&quot;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -325,6 +326,132 @@
</span><span class="cx">     macro(toStringTag) \
</span><span class="cx">     macro(unscopables)
</span><span class="cx"> 
</span><ins>+#define JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \
+    JSC_COMMON_BYTECODE_INTRINSIC_FUNCTIONS_EACH_NAME(macro) \
+    JSC_COMMON_BYTECODE_INTRINSIC_CONSTANTS_EACH_NAME(macro) \
+    macro(iteratedObject) \
+    macro(arrayIteratorNextIndex) \
+    macro(arrayIterationKind) \
+    macro(arrayIteratorNext) \
+    macro(arrayIteratorIsDone) \
+    macro(arrayIteratorKind) \
+    macro(charCodeAt) \
+    macro(iteratedString) \
+    macro(stringIteratorNextIndex) \
+    macro(promise) \
+    macro(fulfillmentHandler) \
+    macro(rejectionHandler) \
+    macro(index) \
+    macro(deferred) \
+    macro(countdownHolder) \
+    macro(Object) \
+    macro(ownEnumerablePropertyKeys) \
+    macro(Number) \
+    macro(Array) \
+    macro(String) \
+    macro(RegExp) \
+    macro(Map) \
+    macro(Promise) \
+    macro(Reflect) \
+    macro(InternalPromise) \
+    macro(abs) \
+    macro(floor) \
+    macro(trunc) \
+    macro(isFinite) \
+    macro(isNaN) \
+    macro(create) \
+    macro(defineProperty) \
+    macro(getPrototypeOf) \
+    macro(getOwnPropertyDescriptor) \
+    macro(getOwnPropertyNames) \
+    macro(ownKeys) \
+    macro(Error) \
+    macro(RangeError) \
+    macro(TypeError) \
+    macro(typedArrayLength) \
+    macro(typedArraySort) \
+    macro(typedArrayGetOriginalConstructor) \
+    macro(BuiltinLog) \
+    macro(homeObject) \
+    macro(getTemplateObject) \
+    macro(enqueueJob) \
+    macro(handler) \
+    macro(promiseState) \
+    macro(promiseFulfillReactions) \
+    macro(promiseRejectReactions) \
+    macro(promiseResult) \
+    macro(push) \
+    macro(repeatCharacter) \
+    macro(capabilities) \
+    macro(starDefault) \
+    macro(InspectorInstrumentation) \
+    macro(get) \
+    macro(set) \
+    macro(shift) \
+    macro(allocateTypedArray) \
+    macro(Int8Array) \
+    macro(Int16Array) \
+    macro(Int32Array) \
+    macro(Uint8Array) \
+    macro(Uint8ClampedArray) \
+    macro(Uint16Array) \
+    macro(Uint32Array) \
+    macro(Float32Array) \
+    macro(Float64Array) \
+    macro(exec) \
+    macro(generator) \
+    macro(generatorNext) \
+    macro(generatorState) \
+    macro(generatorFrame) \
+    macro(generatorValue) \
+    macro(generatorThis) \
+    macro(generatorResumeMode) \
+    macro(Collator) \
+    macro(DateTimeFormat) \
+    macro(NumberFormat) \
+    macro(intlSubstituteValue) \
+    macro(thisTimeValue) \
+    macro(thisNumberValue) \
+    macro(newTargetLocal) \
+    macro(derivedConstructor) \
+    macro(isBoundFunction) \
+    macro(hasInstanceBoundFunction) \
+    macro(instanceOf) \
+    macro(isArray) \
+    macro(isArrayConstructor) \
+    macro(isConstructor) \
+    macro(isRegExpObject) \
+    macro(concatMemcpy) \
+    macro(appendMemcpy) \
+    macro(predictFinalLengthFromArgumunts) \
+    macro(print) \
+    macro(isSet) \
+    macro(isMap) \
+    macro(regExpCreate) \
+    macro(SetIterator) \
+    macro(setIteratorNext) \
+    macro(replaceUsingRegExp) \
+    macro(replaceUsingStringSearch) \
+    macro(MapIterator) \
+    macro(mapIteratorNext) \
+    macro(regExpBuiltinExec) \
+    macro(regExpMatchFast) \
+    macro(regExpProtoFlagsGetter) \
+    macro(regExpProtoGlobalGetter) \
+    macro(regExpProtoIgnoreCaseGetter) \
+    macro(regExpProtoMultilineGetter) \
+    macro(regExpProtoSourceGetter) \
+    macro(regExpProtoStickyGetter) \
+    macro(regExpProtoUnicodeGetter) \
+    macro(regExpPrototypeSymbolReplace) \
+    macro(regExpReplaceFast) \
+    macro(regExpSearchFast) \
+    macro(regExpSplitFast) \
+    macro(regExpTestFast) \
+    macro(stringIncludesInternal) \
+    macro(stringSplitFast) \
+    macro(stringSubstrInternal) \
+
</ins><span class="cx"> namespace JSC {
</span><span class="cx">     
</span><span class="cx">     class BuiltinNames;
</span><span class="lines">@@ -357,6 +484,10 @@
</span><span class="cx">         JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL)
</span><span class="cx"> #undef JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL
</span><span class="cx"> 
</span><ins>+#define JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL(name) const Identifier name##PrivateName;
+        JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL)
+#undef JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL
+
</ins><span class="cx"> #define JSC_IDENTIFIER_DECLARE_PRIVATE_WELL_KNOWN_SYMBOL_GLOBAL(name) const Identifier name##Symbol;
</span><span class="cx">         JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(JSC_IDENTIFIER_DECLARE_PRIVATE_WELL_KNOWN_SYMBOL_GLOBAL)
</span><span class="cx"> #undef JSC_IDENTIFIER_DECLARE_PRIVATE_WELL_KNOWN_SYMBOL_GLOBAL
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -25,9 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;CommonSlowPaths.h&quot;
</span><del>-
</del><span class="cx"> #include &quot;ArrayConstructor.h&quot;
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;CallFrame.h&quot;
</span><span class="cx"> #include &quot;ClonedArguments.h&quot;
</span><span class="cx"> #include &quot;CodeProfiling.h&quot;
</span><span class="lines">@@ -719,7 +717,7 @@
</span><span class="cx">     BEGIN();
</span><span class="cx">     JSValue generator = OP(1).jsValue();
</span><span class="cx">     GeneratorFrame* frame = nullptr;
</span><del>-    JSValue value = generator.get(exec, exec-&gt;propertyNames().builtinNames().generatorFramePrivateName());
</del><ins>+    JSValue value = generator.get(exec, exec-&gt;propertyNames().generatorFramePrivateName);
</ins><span class="cx">     if (!value.isNull())
</span><span class="cx">         frame = jsCast&lt;GeneratorFrame*&gt;(value);
</span><span class="cx">     else {
</span><span class="lines">@@ -727,7 +725,7 @@
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=151545
</span><span class="cx">         frame = GeneratorFrame::create(exec-&gt;vm(),  exec-&gt;codeBlock()-&gt;numCalleeLocals());
</span><span class="cx">         PutPropertySlot slot(generator, true, PutPropertySlot::PutById);
</span><del>-        asObject(generator)-&gt;methodTable(exec-&gt;vm())-&gt;put(asObject(generator), exec, exec-&gt;propertyNames().builtinNames().generatorFramePrivateName(), frame, slot);
</del><ins>+        asObject(generator)-&gt;methodTable(exec-&gt;vm())-&gt;put(asObject(generator), exec, exec-&gt;propertyNames().generatorFramePrivateName, frame, slot);
</ins><span class="cx">     }
</span><span class="cx">     unsigned liveCalleeLocalsIndex = pc[2].u.unsignedValue;
</span><span class="cx">     frame-&gt;save(exec, exec-&gt;codeBlock()-&gt;liveCalleeLocalsAtYield(liveCalleeLocalsIndex));
</span><span class="lines">@@ -738,7 +736,7 @@
</span><span class="cx"> {
</span><span class="cx">     BEGIN();
</span><span class="cx">     JSValue generator = OP(1).jsValue();
</span><del>-    GeneratorFrame* frame = jsCast&lt;GeneratorFrame*&gt;(generator.get(exec, exec-&gt;propertyNames().builtinNames().generatorFramePrivateName()));
</del><ins>+    GeneratorFrame* frame = jsCast&lt;GeneratorFrame*&gt;(generator.get(exec, exec-&gt;propertyNames().generatorFramePrivateName));
</ins><span class="cx">     unsigned liveCalleeLocalsIndex = pc[2].u.unsignedValue;
</span><span class="cx">     frame-&gt;resume(exec, exec-&gt;codeBlock()-&gt;liveCalleeLocalsAtYield(liveCalleeLocalsIndex));
</span><span class="cx">     END();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeIntlDateTimeFormatcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2015 Andy VanWagoner (thetalecrafter@gmail.com)
</span><del>- * Copyright (C) 2016 Apple Inc. All rights reserved.
</del><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeIntlDateTimeFormatPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INTL)
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;DateConstructor.h&quot;
</span><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;IntlDateTimeFormat.h&quot;
</span><span class="lines">@@ -117,7 +116,7 @@
</span><span class="cx">     // FIXME: Workaround to provide compatibility with ECMA-402 1.0 call/apply patterns.
</span><span class="cx">     // https://bugs.webkit.org/show_bug.cgi?id=153679
</span><span class="cx">     if (!dtf)
</span><del>-        dtf = jsDynamicCast&lt;IntlDateTimeFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;builtinNames().intlSubstituteValuePrivateName()));
</del><ins>+        dtf = jsDynamicCast&lt;IntlDateTimeFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;intlSubstituteValuePrivateName));
</ins><span class="cx"> 
</span><span class="cx">     // 2. ReturnIfAbrupt(dtf).
</span><span class="cx">     if (!dtf)
</span><span class="lines">@@ -154,7 +153,7 @@
</span><span class="cx">     // FIXME: Workaround to provide compatibility with ECMA-402 1.0 call/apply patterns.
</span><span class="cx">     // https://bugs.webkit.org/show_bug.cgi?id=153679
</span><span class="cx">     if (!dateTimeFormat)
</span><del>-        dateTimeFormat = jsDynamicCast&lt;IntlDateTimeFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;builtinNames().intlSubstituteValuePrivateName()));
</del><ins>+        dateTimeFormat = jsDynamicCast&lt;IntlDateTimeFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;intlSubstituteValuePrivateName));
</ins><span class="cx"> 
</span><span class="cx">     if (!dateTimeFormat)
</span><span class="cx">         return JSValue::encode(throwTypeError(state, ASCIILiteral(&quot;Intl.DateTimeFormat.prototype.resolvedOptions called on value that's not an object initialized as a DateTimeFormat&quot;)));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeIntlNumberFormatPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2015 Andy VanWagoner (thetalecrafter@gmail.com)
</span><del>- * Copyright (C) 2016 Apple Inc. All rights reserved.
</del><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -29,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INTL)
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;IntlNumberFormat.h&quot;
</span><span class="cx"> #include &quot;JSBoundFunction.h&quot;
</span><span class="lines">@@ -107,7 +105,7 @@
</span><span class="cx">     // FIXME: Workaround to provide compatibility with ECMA-402 1.0 call/apply patterns.
</span><span class="cx">     // https://bugs.webkit.org/show_bug.cgi?id=153679
</span><span class="cx">     if (!nf)
</span><del>-        nf = jsDynamicCast&lt;IntlNumberFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;builtinNames().intlSubstituteValuePrivateName()));
</del><ins>+        nf = jsDynamicCast&lt;IntlNumberFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;intlSubstituteValuePrivateName));
</ins><span class="cx"> 
</span><span class="cx">     if (!nf)
</span><span class="cx">         return JSValue::encode(throwTypeError(state, ASCIILiteral(&quot;Intl.NumberFormat.prototype.format called on value that's not an object initialized as a NumberFormat&quot;)));
</span><span class="lines">@@ -143,7 +141,7 @@
</span><span class="cx">     // FIXME: Workaround to provide compatibility with ECMA-402 1.0 call/apply patterns.
</span><span class="cx">     // https://bugs.webkit.org/show_bug.cgi?id=153679
</span><span class="cx">     if (!numberFormat)
</span><del>-        numberFormat = jsDynamicCast&lt;IntlNumberFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;builtinNames().intlSubstituteValuePrivateName()));
</del><ins>+        numberFormat = jsDynamicCast&lt;IntlNumberFormat*&gt;(state-&gt;thisValue().get(state, state-&gt;vm().propertyNames-&gt;intlSubstituteValuePrivateName));
</ins><span class="cx"> 
</span><span class="cx">     if (!numberFormat)
</span><span class="cx">         return JSValue::encode(throwTypeError(state, ASCIILiteral(&quot;Intl.NumberFormat.prototype.resolvedOptions called on value that's not an object initialized as a NumberFormat&quot;)));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeIntlObjectInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/IntlObjectInlines.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/IntlObjectInlines.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/IntlObjectInlines.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2016 Yusuke Suzuki &lt;yusuke.suzuki@sslab.ics.keio.ac.jp&gt;
</span><del>- * Copyright (C) 2016 Apple Inc. All rights reserved.
</del><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -28,7 +27,6 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INTL)
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;IntlObject.h&quot;
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -51,7 +49,7 @@
</span><span class="cx">             if (state.hadException())
</span><span class="cx">                 return jsUndefined();
</span><span class="cx"> 
</span><del>-            thisObject-&gt;putDirect(vm, vm.propertyNames-&gt;builtinNames().intlSubstituteValuePrivateName(), instance);
</del><ins>+            thisObject-&gt;putDirect(vm, vm.propertyNames-&gt;intlSubstituteValuePrivateName, instance);
</ins><span class="cx">             return thisObject;
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSArrayIteratorcppfromrev202254trunkSourceJavaScriptCoreruntimeArrayIteratorPrototypecpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp (from rev 202254, trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp) (0 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp                                (rev 0)
+++ trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include &quot;config.h&quot;
+#include &quot;JSArrayIterator.h&quot;
+
+#include &quot;JSCJSValueInlines.h&quot;
+#include &quot;JSCellInlines.h&quot;
+#include &quot;SlotVisitorInlines.h&quot;
+#include &quot;StructureInlines.h&quot;
+
+namespace JSC {
+
+const ClassInfo JSArrayIterator::s_info = { &quot;Array Iterator&quot;, &amp;Base::s_info, 0, CREATE_METHOD_TABLE(JSArrayIterator) };
+
+void JSArrayIterator::finishCreation(VM&amp; vm, JSGlobalObject*, ArrayIterationKind kind, JSObject* iteratedObject)
+{
+    Base::finishCreation(vm);
+    ASSERT(inherits(info()));
+
+    putDirect(vm, vm.propertyNames-&gt;iteratedObjectPrivateName, iteratedObject);
+    putDirect(vm, vm.propertyNames-&gt;arrayIteratorNextIndexPrivateName, jsNumber(0));
+    putDirect(vm, vm.propertyNames-&gt;arrayIterationKindPrivateName, jsNumber(kind));
+}
+
+ArrayIterationKind JSArrayIterator::kind(ExecState* exec) const
+{
+    JSValue kindValue = getDirect(exec-&gt;vm(), exec-&gt;vm().propertyNames-&gt;arrayIterationKindPrivateName);
+    return static_cast&lt;ArrayIterationKind&gt;(kindValue.asInt32());
+}
+
+JSValue JSArrayIterator::iteratedValue(ExecState* exec) const
+{
+    return getDirect(exec-&gt;vm(), exec-&gt;vm().propertyNames-&gt;iteratedObjectPrivateName);
+}
+
+
+}
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSArrayIteratorhfromrev202254trunkSourceJavaScriptCoreruntimeArrayIteratorPrototypeh"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/runtime/JSArrayIterator.h (from rev 202254, trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h) (0 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSArrayIterator.h                                (rev 0)
+++ trunk/Source/JavaScriptCore/runtime/JSArrayIterator.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef JSArrayIterator_h
+#define JSArrayIterator_h
+
+#include &quot;JSObject.h&quot;
+
+namespace JSC {
+
+enum ArrayIterationKind : uint32_t {
+    ArrayIterateKey,
+    ArrayIterateValue,
+    ArrayIterateKeyValue
+};
+
+class JSArrayIterator : public JSNonFinalObject {
+public:
+    typedef JSNonFinalObject Base;
+
+    DECLARE_EXPORT_INFO;
+
+    static Structure* createStructure(VM&amp; vm, JSGlobalObject* globalObject, JSValue prototype)
+    {
+        return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
+    }
+
+    static JSArrayIterator* create(ExecState* exec, Structure* structure, ArrayIterationKind kind, JSObject* iteratedObject)
+    {
+        VM&amp; vm = exec-&gt;vm();
+        JSArrayIterator* instance = new (NotNull, allocateCell&lt;JSArrayIterator&gt;(vm.heap)) JSArrayIterator(vm, structure);
+        instance-&gt;finishCreation(vm, structure-&gt;globalObject(), kind, iteratedObject);
+        return instance;
+    }
+
+    ArrayIterationKind kind(ExecState*) const;
+    JSValue iteratedValue(ExecState*) const;
+    JSArrayIterator* clone(ExecState*);
+
+    using JSNonFinalObject::arrayStorageOrNull;
+private:
+    JSArrayIterator(VM&amp; vm, Structure* structure)
+        : Base(vm, structure)
+    {
+    }
+
+    void finishCreation(VM&amp;, JSGlobalObject*, ArrayIterationKind, JSObject* iteratedObject);
+};
+
+}
+
+#endif // !defined(JSArrayIterator_h)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewConstructorInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #ifndef JSGenericTypedArrayViewConstructorInlines_h
</span><span class="cx"> #define JSGenericTypedArrayViewConstructorInlines_h
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;IteratorOperations.h&quot;
</span><span class="cx"> #include &quot;JSArrayBuffer.h&quot;
</span><span class="lines">@@ -53,7 +52,7 @@
</span><span class="cx">     putDirectWithoutTransition(vm, vm.propertyNames-&gt;BYTES_PER_ELEMENT, jsNumber(ViewClass::elementSize), DontEnum | ReadOnly | DontDelete);
</span><span class="cx"> 
</span><span class="cx">     if (privateAllocator)
</span><del>-        putDirectBuiltinFunction(vm, globalObject, vm.propertyNames-&gt;builtinNames().allocateTypedArrayPrivateName(), privateAllocator, DontEnum | DontDelete | ReadOnly);
</del><ins>+        putDirectBuiltinFunction(vm, globalObject, vm.propertyNames-&gt;allocateTypedArrayPrivateName, privateAllocator, DontEnum | DontDelete | ReadOnly);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ViewClass&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewPrototypeFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;ExceptionHelpers.h&quot;
</span><span class="cx"> #include &quot;JSArrayBufferViewInlines.h&quot;
</span><ins>+#include &quot;JSArrayIterator.h&quot;
</ins><span class="cx"> #include &quot;JSCBuiltins.h&quot;
</span><span class="cx"> #include &quot;JSCJSValueInlines.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -63,6 +63,7 @@
</span><span class="cx"> #include &quot;JSArrayBuffer.h&quot;
</span><span class="cx"> #include &quot;JSArrayBufferConstructor.h&quot;
</span><span class="cx"> #include &quot;JSArrayBufferPrototype.h&quot;
</span><ins>+#include &quot;JSArrayIterator.h&quot;
</ins><span class="cx"> #include &quot;JSBoundFunction.h&quot;
</span><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><span class="cx"> #include &quot;JSCallbackConstructor.h&quot;
</span><span class="lines">@@ -425,7 +426,7 @@
</span><span class="cx">             init.setPrototype(JS ## type ## ArrayPrototype::create(init.vm, init.global, JS ## type ## ArrayPrototype::createStructure(init.vm, init.global, init.global-&gt;m_typedArrayProto.get(init.global)))); \
</span><span class="cx">             init.setStructure(JS ## type ## Array::createStructure(init.vm, init.global, init.prototype)); \
</span><span class="cx">             init.setConstructor(JS ## type ## ArrayConstructor::create(init.vm, init.global, JS ## type ## ArrayConstructor::createStructure(init.vm, init.global, init.global-&gt;m_typedArraySuperConstructor.get(init.global)), init.prototype, ASCIILiteral(#type &quot;Array&quot;), typedArrayConstructorAllocate ## type ## ArrayCodeGenerator(init.vm))); \
</span><del>-            init.global-&gt;putDirectWithoutTransition(init.vm, init.vm.propertyNames-&gt;builtinNames().type ## ArrayPrivateName(), init.constructor, DontEnum); \
</del><ins>+            init.global-&gt;putDirectWithoutTransition(init.vm, init.vm.propertyNames-&gt;type ## ArrayPrivateName, init.constructor, DontEnum); \
</ins><span class="cx">         });
</span><span class="cx">     FOR_EACH_TYPED_ARRAY_TYPE_EXCLUDING_DATA_VIEW(INIT_TYPED_ARRAY_LATER)
</span><span class="cx"> #undef INIT_TYPED_ARRAY_LATER
</span><span class="lines">@@ -618,8 +619,8 @@
</span><span class="cx">     putDirectWithoutTransition(vm, vm.propertyNames-&gt;RangeError, m_rangeErrorConstructor.get(), DontEnum);
</span><span class="cx">     putDirectWithoutTransition(vm, vm.propertyNames-&gt;TypeError, m_typeErrorConstructor.get(), DontEnum);
</span><span class="cx"> 
</span><del>-    putDirectWithoutTransition(vm, vm.propertyNames-&gt;builtinNames().ObjectPrivateName(), objectConstructor, DontEnum | DontDelete | ReadOnly);
-    putDirectWithoutTransition(vm, vm.propertyNames-&gt;builtinNames().ArrayPrivateName(), arrayConstructor, DontEnum | DontDelete | ReadOnly);
</del><ins>+    putDirectWithoutTransition(vm, vm.propertyNames-&gt;ObjectPrivateName, objectConstructor, DontEnum | DontDelete | ReadOnly);
+    putDirectWithoutTransition(vm, vm.propertyNames-&gt;ArrayPrivateName, arrayConstructor, DontEnum | DontDelete | ReadOnly);
</ins><span class="cx"> 
</span><span class="cx"> #define PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \
</span><span class="cx"> putDirectWithoutTransition(vm, vm.propertyNames-&gt; jsName, lowerName ## Constructor, DontEnum); \
</span><span class="lines">@@ -652,6 +653,8 @@
</span><span class="cx">     JSFunction* privateFuncTrunc = JSFunction::create(vm, this, 0, String(), mathProtoFuncTrunc, TruncIntrinsic);
</span><span class="cx"> 
</span><span class="cx">     JSFunction* privateFuncGetTemplateObject = JSFunction::create(vm, this, 0, String(), getTemplateObject);
</span><ins>+    JSFunction* privateFuncToLength = JSFunction::createBuiltinFunction(vm, globalObjectToLengthCodeGenerator(vm), this);
+    JSFunction* privateFuncToInteger = JSFunction::createBuiltinFunction(vm, globalObjectToIntegerCodeGenerator(vm), this);
</ins><span class="cx">     JSFunction* privateFuncTypedArrayLength = JSFunction::create(vm, this, 0, String(), typedArrayViewPrivateFuncLength);
</span><span class="cx">     JSFunction* privateFuncTypedArrayGetOriginalConstructor = JSFunction::create(vm, this, 0, String(), typedArrayViewPrivateFuncGetOriginalConstructor);
</span><span class="cx">     JSFunction* privateFuncTypedArraySort = JSFunction::create(vm, this, 0, String(), typedArrayViewPrivateFuncSort);
</span><span class="lines">@@ -665,6 +668,13 @@
</span><span class="cx">     JSFunction* privateFuncAppendMemcpy = JSFunction::create(vm, this, 0, String(), arrayProtoPrivateFuncAppendMemcpy);
</span><span class="cx">     JSFunction* privateFuncConcatSlowPath = JSFunction::createBuiltinFunction(vm, arrayPrototypeConcatSlowPathCodeGenerator(vm), this);
</span><span class="cx"> 
</span><ins>+    JSObject* arrayIteratorPrototype = ArrayIteratorPrototype::create(vm, this, ArrayIteratorPrototype::createStructure(vm, this, m_iteratorPrototype.get()));
+    JSFunction* privateFuncCreateArrayIterator = JSFunction::createBuiltinFunction(vm, arrayPrototypeCreateArrayIteratorConstructorCodeGenerator(vm), this);
+    privateFuncCreateArrayIterator-&gt;putDirect(vm, vm.propertyNames-&gt;prototype, arrayIteratorPrototype);
+    JSFunction* privateFuncArrayIteratorValueNext = JSFunction::createBuiltinFunction(vm, arrayIteratorPrototypeArrayIteratorValueNextCodeGenerator(vm), this);
+    JSFunction* privateFuncArrayIteratorKeyNext = JSFunction::createBuiltinFunction(vm, arrayIteratorPrototypeArrayIteratorKeyNextCodeGenerator(vm), this);
+    JSFunction* privateFuncArrayIteratorKeyValueNext = JSFunction::createBuiltinFunction(vm, arrayIteratorPrototypeArrayIteratorKeyValueNextCodeGenerator(vm), this);
+
</ins><span class="cx">     JSObject* regExpProtoFlagsGetterObject = getGetterById(exec, m_regExpPrototype.get(), vm.propertyNames-&gt;flags);
</span><span class="cx">     JSObject* regExpProtoGlobalGetterObject = getGetterById(exec, m_regExpPrototype.get(), vm.propertyNames-&gt;global);
</span><span class="cx">     m_regExpProtoGlobalGetter.set(vm, this, regExpProtoGlobalGetterObject);
</span><span class="lines">@@ -679,61 +689,70 @@
</span><span class="cx">     JSObject* regExpSymbolReplace = asObject(m_regExpPrototype-&gt;getDirect(vm, vm.propertyNames-&gt;replaceSymbol).asCell());
</span><span class="cx">     m_regExpProtoSymbolReplace.set(vm, this, regExpSymbolReplace);
</span><span class="cx"> 
</span><del>-#define CREATE_PRIVATE_GLOBAL_FUNCTION(name, code) JSFunction* name ## PrivateFunction = JSFunction::createBuiltinFunction(vm, code ## CodeGenerator(vm), this);
-    JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(CREATE_PRIVATE_GLOBAL_FUNCTION)
-#undef CREATE_PRIVATE_GLOBAL_FUNCTION
-
-    JSObject* arrayIteratorPrototype = ArrayIteratorPrototype::create(vm, this, ArrayIteratorPrototype::createStructure(vm, this, m_iteratorPrototype.get()));
-    createArrayIteratorPrivateFunction-&gt;putDirect(vm, vm.propertyNames-&gt;prototype, arrayIteratorPrototype);
-
-
</del><span class="cx">     GlobalPropertyInfo staticGlobals[] = {
</span><del>-#define INIT_PRIVATE_GLOBAL(name, code) GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().name ## PrivateName(), name ## PrivateFunction, DontEnum | DontDelete | ReadOnly),
-        JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(INIT_PRIVATE_GLOBAL)
-#undef INIT_PRIVATE_GLOBAL
</del><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;NaN, jsNaN(), DontEnum | DontDelete | ReadOnly),
</span><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;Infinity, jsNumber(std::numeric_limits&lt;double&gt;::infinity()), DontEnum | DontDelete | ReadOnly),
</span><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;undefinedKeyword, jsUndefined(), DontEnum | DontDelete | ReadOnly),
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().ownEnumerablePropertyKeysPrivateName(), JSFunction::create(vm, this, 0, String(), ownEnumerablePropertyKeys), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().getTemplateObjectPrivateName(), privateFuncGetTemplateObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().enqueueJobPrivateName(), JSFunction::create(vm, this, 0, String(), enqueueJob), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().ErrorPrivateName(), m_errorConstructor.get(), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().RangeErrorPrivateName(), m_rangeErrorConstructor.get(), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().TypeErrorPrivateName(), m_typeErrorConstructor.get(), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().typedArrayLengthPrivateName(), privateFuncTypedArrayLength, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().typedArrayGetOriginalConstructorPrivateName(), privateFuncTypedArrayGetOriginalConstructor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().typedArraySortPrivateName(), privateFuncTypedArraySort, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isBoundFunctionPrivateName(), privateFuncIsBoundFunction, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().hasInstanceBoundFunctionPrivateName(), privateFuncHasInstanceBoundFunction, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().instanceOfPrivateName(), privateFuncInstanceOf, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().BuiltinLogPrivateName(), builtinLog, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().NumberPrivateName(), numberConstructor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().RegExpPrivateName(), m_regExpConstructor.get(), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().StringPrivateName(), stringConstructor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().absPrivateName(), privateFuncAbs, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().floorPrivateName(), privateFuncFloor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().truncPrivateName(), privateFuncTrunc, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isFinitePrivateName(), privateFuncIsFinite, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isNaNPrivateName(), privateFuncIsNaN, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().PromisePrivateName(), promiseConstructor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().ReflectPrivateName(), reflectObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().InternalPromisePrivateName(), internalPromiseConstructor, DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;ownEnumerablePropertyKeysPrivateName, JSFunction::create(vm, this, 0, String(), ownEnumerablePropertyKeys), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;getTemplateObjectPrivateName, privateFuncGetTemplateObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;enqueueJobPrivateName, JSFunction::create(vm, this, 0, String(), enqueueJob), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;ErrorPrivateName, m_errorConstructor.get(), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;RangeErrorPrivateName, m_rangeErrorConstructor.get(), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;TypeErrorPrivateName, m_typeErrorConstructor.get(), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;typedArrayLengthPrivateName, privateFuncTypedArrayLength, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;typedArrayGetOriginalConstructorPrivateName, privateFuncTypedArrayGetOriginalConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;typedArraySortPrivateName, privateFuncTypedArraySort, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isBoundFunctionPrivateName, privateFuncIsBoundFunction, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;hasInstanceBoundFunctionPrivateName, privateFuncHasInstanceBoundFunction, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;instanceOfPrivateName, privateFuncInstanceOf, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;BuiltinLogPrivateName, builtinLog, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;NumberPrivateName, numberConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;RegExpPrivateName, m_regExpConstructor.get(), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;StringPrivateName, stringConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;absPrivateName, privateFuncAbs, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;floorPrivateName, privateFuncFloor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;truncPrivateName, privateFuncTrunc, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isFinitePrivateName, privateFuncIsFinite, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isNaNPrivateName, privateFuncIsNaN, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;PromisePrivateName, promiseConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;ReflectPrivateName, reflectObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;InternalPromisePrivateName, internalPromiseConstructor, DontEnum | DontDelete | ReadOnly),
</ins><span class="cx"> 
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().repeatCharacterPrivateName(), JSFunction::create(vm, this, 2, String(), stringProtoFuncRepeatCharacter), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isSetPrivateName(), JSFunction::create(vm, this, 1, String(), privateFuncIsSet), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().SetIteratorPrivateName(), JSFunction::create(vm, this, 1, String(), privateFuncSetIterator), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().setIteratorNextPrivateName(), JSFunction::create(vm, this, 0, String(), privateFuncSetIteratorNext), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isMapPrivateName(), JSFunction::create(vm, this, 1, String(), privateFuncIsMap), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isArrayPrivateName(), arrayConstructor-&gt;getDirect(vm, vm.propertyNames-&gt;isArray), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isArrayConstructorPrivateName(), privateFuncIsArrayConstructor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().concatMemcpyPrivateName(), privateFuncConcatMemcpy, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().appendMemcpyPrivateName(), privateFuncAppendMemcpy, DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;repeatCharacterPrivateName, JSFunction::create(vm, this, 2, String(), stringProtoFuncRepeatCharacter), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().repeatSlowPathPrivateName(), JSFunction::createBuiltinFunction(vm, stringPrototypeRepeatSlowPathCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().repeatCharactersSlowPathPrivateName(), JSFunction::createBuiltinFunction(vm, stringPrototypeRepeatCharactersSlowPathCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+
+        GlobalPropertyInfo(vm.propertyNames-&gt;isSetPrivateName, JSFunction::create(vm, this, 1, String(), privateFuncIsSet), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;SetIteratorPrivateName, JSFunction::create(vm, this, 1, String(), privateFuncSetIterator), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;setIteratorNextPrivateName, JSFunction::create(vm, this, 0, String(), privateFuncSetIteratorNext), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isMapPrivateName, JSFunction::create(vm, this, 1, String(), privateFuncIsMap), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isArrayPrivateName, arrayConstructor-&gt;getDirect(vm, vm.propertyNames-&gt;isArray), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isArrayConstructorPrivateName, privateFuncIsArrayConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;concatMemcpyPrivateName, privateFuncConcatMemcpy, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;appendMemcpyPrivateName, privateFuncAppendMemcpy, DontEnum | DontDelete | ReadOnly),
</ins><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().concatSlowPathPrivateName(), privateFuncConcatSlowPath, DontEnum | DontDelete | ReadOnly),
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().MapIteratorPrivateName(), JSFunction::create(vm, this, 1, String(), privateFuncMapIterator), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().mapIteratorNextPrivateName(), JSFunction::create(vm, this, 0, String(), privateFuncMapIteratorNext), DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;MapIteratorPrivateName, JSFunction::create(vm, this, 1, String(), privateFuncMapIterator), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;mapIteratorNextPrivateName, JSFunction::create(vm, this, 0, String(), privateFuncMapIteratorNext), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().arrayIteratorValueNextPrivateName(), privateFuncArrayIteratorValueNext, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().arrayIteratorKeyNextPrivateName(), privateFuncArrayIteratorKeyNext, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().arrayIteratorKeyValueNextPrivateName(), privateFuncArrayIteratorKeyValueNext, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().createArrayIteratorPrivateName(), privateFuncCreateArrayIterator, DontEnum | DontDelete | ReadOnly),
</ins><span class="cx"> 
</span><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().toLengthPrivateName(), privateFuncToLength, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().toIntegerPrivateName(), privateFuncToInteger, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isDictionaryPrivateName(), JSFunction::createBuiltinFunction(vm, globalObjectIsDictionaryCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isPromisePrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsIsPromiseCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().newPromiseReactionPrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsNewPromiseReactionCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().newPromiseCapabilityPrivateName(), m_newPromiseCapabilityFunction.get(), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().triggerPromiseReactionsPrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsTriggerPromiseReactionsCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().rejectPromisePrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsRejectPromiseCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().fulfillPromisePrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsFulfillPromiseCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().createResolvingFunctionsPrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsCreateResolvingFunctionsCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().promiseReactionJobPrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsPromiseReactionJobCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().promiseResolveThenableJobPrivateName(), JSFunction::createBuiltinFunction(vm, promiseOperationsPromiseResolveThenableJobCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
</ins><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().InspectorInstrumentationPrivateName(), InspectorInstrumentationObject::create(vm, this, InspectorInstrumentationObject::createStructure(vm, this, m_objectPrototype.get())), DontEnum | DontDelete | ReadOnly),
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().MapPrivateName(), mapConstructor, DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;MapPrivateName, mapConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().generatorResumePrivateName(), JSFunction::createBuiltinFunction(vm, generatorPrototypeGeneratorResumeCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
</ins><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().thisTimeValuePrivateName(), privateFuncThisTimeValue, DontEnum | DontDelete | ReadOnly),
</span><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().thisNumberValuePrivateName(), privateFuncThisNumberValue, DontEnum | DontDelete | ReadOnly),
</span><span class="cx"> #if ENABLE(INTL)
</span><span class="lines">@@ -742,30 +761,36 @@
</span><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().NumberFormatPrivateName(), intl-&gt;getDirect(vm, vm.propertyNames-&gt;NumberFormat), DontEnum | DontDelete | ReadOnly),
</span><span class="cx"> #endif // ENABLE(INTL)
</span><span class="cx"> 
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isConstructorPrivateName(), JSFunction::create(vm, this, 1, String(), esSpecIsConstructor, NoIntrinsic), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().isRegExpObjectPrivateName(), JSFunction::create(vm, this, 1, String(), esSpecIsRegExpObject, IsRegExpObjectIntrinsic), DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;isConstructorPrivateName, JSFunction::create(vm, this, 1, String(), esSpecIsConstructor, NoIntrinsic), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;isRegExpObjectPrivateName, JSFunction::create(vm, this, 1, String(), esSpecIsRegExpObject, IsRegExpObjectIntrinsic), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().speciesConstructorPrivateName(), JSFunction::createBuiltinFunction(vm, globalObjectSpeciesConstructorCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
</ins><span class="cx"> 
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoFlagsGetterPrivateName(), regExpProtoFlagsGetterObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoGlobalGetterPrivateName(), regExpProtoGlobalGetterObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoIgnoreCaseGetterPrivateName(), regExpProtoIgnoreCaseGetterObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoMultilineGetterPrivateName(), regExpProtoMultilineGetterObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoSourceGetterPrivateName(), regExpProtoSourceGetterObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoStickyGetterPrivateName(), regExpProtoStickyGetterObject, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpProtoUnicodeGetterPrivateName(), regExpProtoUnicodeGetterObject, DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoFlagsGetterPrivateName, regExpProtoFlagsGetterObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoGlobalGetterPrivateName, regExpProtoGlobalGetterObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoIgnoreCaseGetterPrivateName, regExpProtoIgnoreCaseGetterObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoMultilineGetterPrivateName, regExpProtoMultilineGetterObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoSourceGetterPrivateName, regExpProtoSourceGetterObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoStickyGetterPrivateName, regExpProtoStickyGetterObject, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpProtoUnicodeGetterPrivateName, regExpProtoUnicodeGetterObject, DontEnum | DontDelete | ReadOnly),
</ins><span class="cx"> 
</span><span class="cx">         // RegExp.prototype helpers.
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpBuiltinExecPrivateName(), builtinRegExpExec, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpCreatePrivateName(), JSFunction::create(vm, this, 2, String(), esSpecRegExpCreate, NoIntrinsic), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpMatchFastPrivateName(), JSFunction::create(vm, this, 1, String(), regExpProtoFuncMatchFast), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpSearchFastPrivateName(), JSFunction::create(vm, this, 1, String(), regExpProtoFuncSearchFast), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpSplitFastPrivateName(), JSFunction::create(vm, this, 2, String(), regExpProtoFuncSplitFast), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpPrototypeSymbolReplacePrivateName(), m_regExpPrototype-&gt;getDirect(vm, vm.propertyNames-&gt;replaceSymbol), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpTestFastPrivateName(), JSFunction::create(vm, this, 1, String(), regExpProtoFuncTestFast, RegExpTestFastIntrinsic), DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpBuiltinExecPrivateName, builtinRegExpExec, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpCreatePrivateName, JSFunction::create(vm, this, 2, String(), esSpecRegExpCreate, NoIntrinsic), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().hasObservableSideEffectsForRegExpMatchPrivateName(), JSFunction::createBuiltinFunction(vm, regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().hasObservableSideEffectsForRegExpSplitPrivateName(), JSFunction::createBuiltinFunction(vm, regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().advanceStringIndexPrivateName(), JSFunction::createBuiltinFunction(vm, regExpPrototypeAdvanceStringIndexCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().regExpExecPrivateName(), JSFunction::createBuiltinFunction(vm, regExpPrototypeRegExpExecCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpMatchFastPrivateName, JSFunction::create(vm, this, 1, String(), regExpProtoFuncMatchFast), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpSearchFastPrivateName, JSFunction::create(vm, this, 1, String(), regExpProtoFuncSearchFast), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpSplitFastPrivateName, JSFunction::create(vm, this, 2, String(), regExpProtoFuncSplitFast), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpPrototypeSymbolReplacePrivateName, m_regExpPrototype-&gt;getDirect(vm, vm.propertyNames-&gt;replaceSymbol), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;regExpTestFastPrivateName, JSFunction::create(vm, this, 1, String(), regExpProtoFuncTestFast, RegExpTestFastIntrinsic), DontEnum | DontDelete | ReadOnly),
</ins><span class="cx"> 
</span><span class="cx">         // String.prototype helpers.
</span><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().stringIncludesInternalPrivateName(), JSFunction::create(vm, this, 1, String(), builtinStringIncludesInternal), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().stringSplitFastPrivateName(), JSFunction::create(vm, this, 2, String(), stringProtoFuncSplitFast), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().stringSubstrInternalPrivateName(), JSFunction::create(vm, this, 2, String(), builtinStringSubstrInternal), DontEnum | DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;builtinNames().hasObservableSideEffectsForStringReplacePrivateName(), JSFunction::createBuiltinFunction(vm, stringPrototypeHasObservableSideEffectsForStringReplaceCodeGenerator(vm), this), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;stringIncludesInternalPrivateName, JSFunction::create(vm, this, 1, String(), builtinStringIncludesInternal), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;stringSplitFastPrivateName, JSFunction::create(vm, this, 2, String(), stringProtoFuncSplitFast), DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames-&gt;stringSubstrInternalPrivateName, JSFunction::create(vm, this, 2, String(), builtinStringSubstrInternal), DontEnum | DontDelete | ReadOnly),
</ins><span class="cx">     };
</span><span class="cx">     addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals));
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSInternalPromisecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSInternalPromise.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSInternalPromise.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSInternalPromise.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSInternalPromiseDeferredcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSInternalPromiseDeferred.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSInternalPromiseDeferred.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSInternalPromiseDeferred.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx">     JSValue deferred = newPromiseCapability(exec, globalObject, globalObject-&gt;internalPromiseConstructor());
</span><span class="cx"> 
</span><del>-    JSValue promise = deferred.get(exec, vm.propertyNames-&gt;builtinNames().promisePrivateName());
</del><ins>+    JSValue promise = deferred.get(exec, vm.propertyNames-&gt;promisePrivateName);
</ins><span class="cx">     ASSERT(promise.inherits(JSInternalPromise::info()));
</span><span class="cx">     JSValue resolve = deferred.get(exec, vm.propertyNames-&gt;builtinNames().resolvePrivateName());
</span><span class="cx">     JSValue reject = deferred.get(exec, vm.propertyNames-&gt;builtinNames().rejectPrivateName());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromisecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromise.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromise.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSPromise.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2013 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSPromise.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;JSCJSValueInlines.h&quot;
</span><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="lines">@@ -59,10 +58,10 @@
</span><span class="cx"> void JSPromise::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><del>-    putDirect(vm, vm.propertyNames-&gt;builtinNames().promiseStatePrivateName(), jsNumber(static_cast&lt;unsigned&gt;(Status::Pending)));
-    putDirect(vm, vm.propertyNames-&gt;builtinNames().promiseFulfillReactionsPrivateName(), jsUndefined());
-    putDirect(vm, vm.propertyNames-&gt;builtinNames().promiseRejectReactionsPrivateName(), jsUndefined());
-    putDirect(vm, vm.propertyNames-&gt;builtinNames().promiseResultPrivateName(), jsUndefined());
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;promiseStatePrivateName, jsNumber(static_cast&lt;unsigned&gt;(Status::Pending)));
+    putDirect(vm, vm.propertyNames-&gt;promiseFulfillReactionsPrivateName, jsUndefined());
+    putDirect(vm, vm.propertyNames-&gt;promiseRejectReactionsPrivateName, jsUndefined());
+    putDirect(vm, vm.propertyNames-&gt;promiseResultPrivateName, jsUndefined());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSPromise::initialize(ExecState* exec, JSGlobalObject* globalObject, JSValue executor)
</span><span class="lines">@@ -79,7 +78,7 @@
</span><span class="cx"> 
</span><span class="cx"> auto JSPromise::status(VM&amp; vm) const -&gt; Status
</span><span class="cx"> {
</span><del>-    JSValue value = getDirect(vm, vm.propertyNames-&gt;builtinNames().promiseStatePrivateName());
</del><ins>+    JSValue value = getDirect(vm, vm.propertyNames-&gt;promiseStatePrivateName);
</ins><span class="cx">     ASSERT(value.isUInt32());
</span><span class="cx">     return static_cast&lt;Status&gt;(value.asUInt32());
</span><span class="cx"> }
</span><span class="lines">@@ -86,7 +85,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSValue JSPromise::result(VM&amp; vm) const
</span><span class="cx"> {
</span><del>-    return getDirect(vm, vm.propertyNames-&gt;builtinNames().promiseResultPrivateName());
</del><ins>+    return getDirect(vm, vm.propertyNames-&gt;promiseResultPrivateName);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromiseDeferredcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2013 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx">     JSValue deferred = newPromiseCapability(exec, globalObject, globalObject-&gt;promiseConstructor());
</span><span class="cx"> 
</span><del>-    JSValue promise = deferred.get(exec, vm.propertyNames-&gt;builtinNames().promisePrivateName());
</del><ins>+    JSValue promise = deferred.get(exec, vm.propertyNames-&gt;promisePrivateName);
</ins><span class="cx">     ASSERT(promise.inherits(JSPromise::info()));
</span><span class="cx">     JSValue resolve = deferred.get(exec, vm.propertyNames-&gt;builtinNames().resolvePrivateName());
</span><span class="cx">     JSValue reject = deferred.get(exec, vm.propertyNames-&gt;builtinNames().rejectPrivateName());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSStringIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSStringIterator.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSStringIterator.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/JSStringIterator.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2015 Yusuke Suzuki &lt;utatane.tea@gmail.com&gt;.
</span><del>- * Copyright (C) 2016 Apple Inc. All rights reserved.
</del><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -27,7 +26,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSStringIterator.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;JSCJSValueInlines.h&quot;
</span><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;StructureInlines.h&quot;
</span><span class="lines">@@ -40,23 +38,23 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;builtinNames().iteratedStringPrivateName(), iteratedString);
-    putDirect(vm, vm.propertyNames-&gt;builtinNames().stringIteratorNextIndexPrivateName(), jsNumber(0));
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;iteratedStringPrivateName, iteratedString);
+    putDirect(vm, vm.propertyNames-&gt;stringIteratorNextIndexPrivateName, jsNumber(0));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSValue JSStringIterator::iteratedValue(ExecState* exec) const
</span><span class="cx"> {
</span><del>-    return getDirect(exec-&gt;vm(), exec-&gt;vm().propertyNames-&gt;builtinNames().iteratedStringPrivateName());
</del><ins>+    return getDirect(exec-&gt;vm(), exec-&gt;vm().propertyNames-&gt;iteratedStringPrivateName);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSStringIterator* JSStringIterator::clone(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     VM&amp; vm = exec-&gt;vm();
</span><del>-    JSValue iteratedString = getDirect(vm, vm.propertyNames-&gt;builtinNames().iteratedStringPrivateName());
-    JSValue nextIndex = getDirect(vm, vm.propertyNames-&gt;builtinNames().stringIteratorNextIndexPrivateName());
</del><ins>+    JSValue iteratedString = getDirect(vm, vm.propertyNames-&gt;iteratedStringPrivateName);
+    JSValue nextIndex = getDirect(vm, vm.propertyNames-&gt;stringIteratorNextIndexPrivateName);
</ins><span class="cx"> 
</span><span class="cx">     auto clone = JSStringIterator::create(exec, exec-&gt;callee()-&gt;globalObject()-&gt;stringIteratorStructure(), asString(iteratedString));
</span><del>-    clone-&gt;putDirect(vm, vm.propertyNames-&gt;builtinNames().stringIteratorNextIndexPrivateName(), nextIndex);
</del><ins>+    clone-&gt;putDirect(vm, vm.propertyNames-&gt;stringIteratorNextIndexPrivateName, nextIndex);
</ins><span class="cx">     return clone;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeMapPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/MapPrototype.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/MapPrototype.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/MapPrototype.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -78,8 +78,8 @@
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().valuesPublicName(), mapProtoFuncValues, DontEnum, 0);
</span><span class="cx"> 
</span><span class="cx">     // Private get / set operations.
</span><del>-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().getPrivateName(), mapProtoFuncGet, DontEnum, 1);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().setPrivateName(), mapProtoFuncSet, DontEnum, 2);
</del><ins>+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;getPrivateName, mapProtoFuncGet, DontEnum, 1);
+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;setPrivateName, mapProtoFuncSet, DontEnum, 2);
</ins><span class="cx"> 
</span><span class="cx">     JSFunction* entries = JSFunction::create(vm, globalObject, 0, vm.propertyNames-&gt;builtinNames().entriesPublicName().string(), mapProtoFuncEntries);
</span><span class="cx">     putDirectWithoutTransition(vm, vm.propertyNames-&gt;builtinNames().entriesPublicName(), entries, DontEnum);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeObjectConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -21,7 +21,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ObjectConstructor.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;ButterflyInlines.h&quot;
</span><span class="cx"> #include &quot;CopiedSpaceInlines.h&quot;
</span><span class="cx"> #include &quot;Error.h&quot;
</span><span class="lines">@@ -100,10 +99,10 @@
</span><span class="cx">     // no. of arguments for constructor
</span><span class="cx">     putDirectWithoutTransition(vm, vm.propertyNames-&gt;length, jsNumber(1), ReadOnly | DontEnum | DontDelete);
</span><span class="cx"> 
</span><del>-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().createPrivateName(), objectConstructorCreate, DontEnum, 2);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().definePropertyPrivateName(), objectConstructorDefineProperty, DontEnum, 3);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().getPrototypeOfPrivateName(), objectConstructorGetPrototypeOf, DontEnum, 1);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().getOwnPropertyNamesPrivateName(), objectConstructorGetOwnPropertyNames, DontEnum, 1);
</del><ins>+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;createPrivateName, objectConstructorCreate, DontEnum, 2);
+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;definePropertyPrivateName, objectConstructorDefineProperty, DontEnum, 3);
+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;getPrototypeOfPrivateName, objectConstructorGetPrototypeOf, DontEnum, 1);
+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;getOwnPropertyNamesPrivateName, objectConstructorGetOwnPropertyNames, DontEnum, 1);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSFunction* ObjectConstructor::addDefineProperty(ExecState* exec, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeReflectObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ReflectObject.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ReflectObject.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/ReflectObject.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2015-2016 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ReflectObject.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObjectFunctions.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="lines">@@ -86,8 +85,8 @@
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><span class="cx"> 
</span><del>-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().ownKeysPrivateName(), reflectObjectOwnKeys, DontEnum | DontDelete | ReadOnly, 1);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().getOwnPropertyDescriptorPrivateName(), reflectObjectGetOwnPropertyDescriptor, DontEnum | DontDelete | ReadOnly, 2);
</del><ins>+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;ownKeysPrivateName, reflectObjectOwnKeys, DontEnum | DontDelete | ReadOnly, 1);
+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;getOwnPropertyDescriptorPrivateName, reflectObjectGetOwnPropertyDescriptor, DontEnum | DontDelete | ReadOnly, 2);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions --------------------------------
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStringPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;StringPrototype.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;BuiltinNames.h&quot;
</del><span class="cx"> #include &quot;ButterflyInlines.h&quot;
</span><span class="cx"> #include &quot;CachedCall.h&quot;
</span><span class="cx"> #include &quot;CopiedSpaceInlines.h&quot;
</span><span class="lines">@@ -138,8 +137,8 @@
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;concat&quot;, stringProtoFuncConcat, DontEnum, 1);
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;indexOf&quot;, stringProtoFuncIndexOf, DontEnum, 1);
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;lastIndexOf&quot;, stringProtoFuncLastIndexOf, DontEnum, 1);
</span><del>-    JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().replaceUsingRegExpPrivateName(), stringProtoFuncReplaceUsingRegExp, DontEnum, 2, StringPrototypeReplaceRegExpIntrinsic);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().replaceUsingStringSearchPrivateName(), stringProtoFuncReplaceUsingStringSearch, DontEnum, 2);
</del><ins>+    JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;replaceUsingRegExpPrivateName, stringProtoFuncReplaceUsingRegExp, DontEnum, 2, StringPrototypeReplaceRegExpIntrinsic);
+    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;replaceUsingStringSearchPrivateName, stringProtoFuncReplaceUsingStringSearch, DontEnum, 2);
</ins><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;slice&quot;, stringProtoFuncSlice, DontEnum, 2);
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;substr&quot;, stringProtoFuncSubstr, DontEnum, 2);
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;substring&quot;, stringProtoFuncSubstring, DontEnum, 2);
</span><span class="lines">@@ -176,7 +175,7 @@
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(&quot;normalize&quot;, stringProtoFuncNormalize, DontEnum, 1);
</span><span class="cx">     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;iteratorSymbol, stringProtoFuncIterator, DontEnum, 0);
</span><span class="cx"> 
</span><del>-    JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;builtinNames().charCodeAtPrivateName(), stringProtoFuncCharCodeAt, DontEnum, 1, CharCodeAtIntrinsic);
</del><ins>+    JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;charCodeAtPrivateName, stringProtoFuncCharCodeAt, DontEnum, 1, CharCodeAtIntrinsic);
</ins><span class="cx"> 
</span><span class="cx">     // The constructor will be added later, after StringConstructor has been built
</span><span class="cx">     putDirectWithoutTransition(vm, vm.propertyNames-&gt;length, jsNumber(0), DontDelete | ReadOnly | DontEnum);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypedArrayInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypedArrayInlines.h (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypedArrayInlines.h        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/JavaScriptCore/runtime/TypedArrayInlines.h        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;GCIncomingRefCountedInlines.h&quot;
</span><span class="cx"> #include &quot;GenericTypedArrayViewInlines.h&quot;
</span><span class="cx"> #include &quot;JSArrayBufferViewInlines.h&quot;
</span><ins>+#include &quot;JSGenericTypedArrayViewConstructorInlines.h&quot;
</ins><span class="cx"> #include &quot;JSGenericTypedArrayViewInlines.h&quot;
</span><span class="cx"> #include &quot;JSGenericTypedArrayViewPrototypeInlines.h&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/WebCore/ChangeLog        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-06-20  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r202248.
+        https://bugs.webkit.org/show_bug.cgi?id=158960
+
+        breaks builds on the simulator (Requested by keith_mi_ on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;It should be easy to add a private global helper function for
+        builtins&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=158893
+        http://trac.webkit.org/changeset/202248
+
</ins><span class="cx"> 2016-06-20  Jeremy Jones  &lt;jeremyj@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Adopt commitPriority to get rid of the 2 AVPL solution for PiP
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockmediasourceMockBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp (202254 => 202255)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp        2016-06-21 00:24:32 UTC (rev 202254)
+++ trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp        2016-06-21 00:26:59 UTC (rev 202255)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="cx"> 
</span><del>-#include &lt;JavaScriptCore/JSCJSValueInlines.h&gt;
</del><span class="cx"> #include &lt;JavaScriptCore/TypedArrayInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="cx"> #include &lt;runtime/DataView.h&gt;
</span></span></pre>
</div>
</div>

</body>
</html>