<!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>[163225] trunk</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/163225">163225</a></dd>
<dt>Author</dt> <dd>oliver@apple.com</dd>
<dt>Date</dt> <dd>2014-01-31 17:37:59 -0800 (Fri, 31 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;

        Rollout <a href="http://trac.webkit.org/projects/webkit/changeset/163195">r163195</a> and related patches</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkGNUmakefileam">trunk/GNUmakefile.am</a></li>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsjsarrayeveryexpectedtxt">trunk/LayoutTests/js/array-every-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsdomarrayprototypepropertiesexpectedtxt">trunk/LayoutTests/js/dom/array-prototype-properties-expected.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSCallbackObjectFunctionsh">trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreDerivedSourcesmake">trunk/Source/JavaScriptCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefileam">trunk/Source/JavaScriptCore/GNUmakefile.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefilelistam">trunk/Source/JavaScriptCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoreCommonprops">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreCommon.props</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeCodeBlockcpp">trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeCodeBlockh">trunk/Source/JavaScriptCore/bytecode/CodeBlock.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeProfiledCodeBlockJettisoningWatchpointcpp">trunk/Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeUnlinkedCodeBlockcpp">trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeUnlinkedCodeBlockh">trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp">trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorh">trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerNodesCodegencpp">trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorecreate_hash_table">trunk/Source/JavaScriptCore/create_hash_table</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGDominatorscpp">trunk/Source/JavaScriptCore/dfg/DFGDominators.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGJITCodecpp">trunk/Source/JavaScriptCore/dfg/DFGJITCode.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGOperationscpp">trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinterpreterCachedCallh">trunk/Source/JavaScriptCore/interpreter/CachedCall.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinterpreterInterpretercpp">trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinterpreterProtoCallFramecpp">trunk/Source/JavaScriptCore/interpreter/ProtoCallFrame.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOpcodescpp">trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOpcodes32_64cpp">trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOperationscpp">trunk/Source/JavaScriptCore/jit/JITOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITPropertyAccesscpp">trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITPropertyAccess32_64cpp">trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejsccpp">trunk/Source/JavaScriptCore/jsc.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntOffsetsExtractorcpp">trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntSlowPathscpp">trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserASTBuilderh">trunk/Source/JavaScriptCore/parser/ASTBuilder.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserLexercpp">trunk/Source/JavaScriptCore/parser/Lexer.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserLexerh">trunk/Source/JavaScriptCore/parser/Lexer.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserNodescpp">trunk/Source/JavaScriptCore/parser/Nodes.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="#trunkSourceJavaScriptCoreparserParserh">trunk/Source/JavaScriptCore/parser/Parser.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserParserModesh">trunk/Source/JavaScriptCore/parser/ParserModes.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserParserTokensh">trunk/Source/JavaScriptCore/parser/ParserTokens.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArgumentsh">trunk/Source/JavaScriptCore/runtime/Arguments.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArgumentsIteratorPrototypecpp">trunk/Source/JavaScriptCore/runtime/ArgumentsIteratorPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArrayPrototypecpp">trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCodeCachecpp">trunk/Source/JavaScriptCore/runtime/CodeCache.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="#trunkSourceJavaScriptCoreruntimeCommonSlowPathsExceptionscpp">trunk/Source/JavaScriptCore/runtime/CommonSlowPathsExceptions.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeExceptionHelperscpp">trunk/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeExecutableh">trunk/Source/JavaScriptCore/runtime/Executable.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeFunctionPrototypecpp">trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSActivationcpp">trunk/Source/JavaScriptCore/runtime/JSActivation.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSArgumentsIteratorcpp">trunk/Source/JavaScriptCore/runtime/JSArgumentsIterator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSArraycpp">trunk/Source/JavaScriptCore/runtime/JSArray.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSArrayIteratorcpp">trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSCJSValuecpp">trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSCellInlinesh">trunk/Source/JavaScriptCore/runtime/JSCellInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSFunctioncpp">trunk/Source/JavaScriptCore/runtime/JSFunction.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSFunctionh">trunk/Source/JavaScriptCore/runtime/JSFunction.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSFunctionInlinesh">trunk/Source/JavaScriptCore/runtime/JSFunctionInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewConstructorInlinesh">trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewInlinesh">trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewPrototypeInlinesh">trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp">trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjecth">trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjectcpp">trunk/Source/JavaScriptCore/runtime/JSObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjecth">trunk/Source/JavaScriptCore/runtime/JSObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromiseConstructorcpp">trunk/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromiseDeferredcpp">trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromisePrototypecpp">trunk/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromiseReactionh">trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPropertyNameIteratorcpp">trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPropertyNameIteratorh">trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSStringh">trunk/Source/JavaScriptCore/runtime/JSString.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSymbolTableObjectcpp">trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSymbolTableObjecth">trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeLookupcpp">trunk/Source/JavaScriptCore/runtime/Lookup.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeLookuph">trunk/Source/JavaScriptCore/runtime/Lookup.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeNativeErrorConstructorcpp">trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeNativeErrorConstructorh">trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimePropertySloth">trunk/Source/JavaScriptCore/runtime/PropertySlot.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExpConstructorcpp">trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExpPrototypecpp">trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeSetConstructorcpp">trunk/Source/JavaScriptCore/runtime/SetConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStringObjectcpp">trunk/Source/JavaScriptCore/runtime/StringObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStructurecpp">trunk/Source/JavaScriptCore/runtime/Structure.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeVMcpp">trunk/Source/JavaScriptCore/runtime/VM.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeVMh">trunk/Source/JavaScriptCore/runtime/VM.h</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementcpp">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBAnyCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBDatabaseCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBObjectStoreCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeFilterConditioncpp">trunk/Source/WebCore/bindings/js/JSNodeFilterCondition.cpp</a></li>
<li><a href="#trunkSourceWebKitCMakeListstxt">trunk/Source/WebKit/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2CMakeListstxt">trunk/Source/WebKit2/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourcecmakegtestCMakeListstxt">trunk/Source/cmake/gtest/CMakeLists.txt</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsDumpRenderTreeCMakeListstxt">trunk/Tools/DumpRenderTree/CMakeLists.txt</a></li>
<li><a href="#trunkToolsWebKitTestRunnerCMakeListstxt">trunk/Tools/WebKitTestRunner/CMakeLists.txt</a></li>
<li><a href="#trunkToolsWinCELauncherCMakeListstxt">trunk/Tools/WinCELauncher/CMakeLists.txt</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsjsregressarrayprototypeeveryexpectedtxt">trunk/LayoutTests/js/regress/array-prototype-every-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsregressarrayprototypeeveryhtml">trunk/LayoutTests/js/regress/array-prototype-every.html</a></li>
<li><a href="#trunkLayoutTestsjsregressscripttestsarrayprototypeeveryjs">trunk/LayoutTests/js/regress/script-tests/array-prototype-every.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsArrayprototypejs">trunk/Source/JavaScriptCore/builtins/Array.prototype.js</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsBuiltinExecutablescpp">trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebuiltinsBuiltinExecutablesh">trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.h</a></li>
<li><a href="#trunkSourceJavaScriptCoregeneratejsbuiltins">trunk/Source/JavaScriptCore/generate-js-builtins</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSStringInlinesh">trunk/Source/JavaScriptCore/runtime/JSStringInlines.h</a></li>
<li><a href="#trunkSourceWebCoreForwardingHeadersruntimeJSStringInlinesh">trunk/Source/WebCore/ForwardingHeaders/runtime/JSStringInlines.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,10 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * GNUmakefile.am:
+        * Source/cmake/gtest/CMakeLists.txt:
+
</ins><span class="cx"> 2014-01-29  Oliver Hunt  &lt;oliver@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Make it possible to implement JS builtins in JS
</span></span></pre></div>
<a id="trunkGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/GNUmakefile.am (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/GNUmakefile.am        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/GNUmakefile.am        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -68,7 +68,6 @@
</span><span class="cx"> dom_binding_idls :=
</span><span class="cx"> wtf_sources :=
</span><span class="cx"> javascriptcore_h_api :=
</span><del>-javascriptcore_builtins_js_nosources :=
</del><span class="cx"> javascriptcore_cppflags:=
</span><span class="cx"> javascriptcore_cflags :=
</span><span class="cx"> javascriptcore_sources :=
</span></span></pre></div>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/LayoutTests/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * js/array-every-expected.txt:
+        * js/dom/array-prototype-properties-expected.txt:
+        * js/regress/array-prototype-every-expected.txt: Removed.
+        * js/regress/array-prototype-every.html: Removed.
+        * js/regress/script-tests/array-prototype-every.js: Removed.
+
</ins><span class="cx"> 2014-01-31  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Update test results for a new DOM URL test (we now pass more).
</span></span></pre></div>
<a id="trunkLayoutTestsjsarrayeveryexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/array-every-expected.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/array-every-expected.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/LayoutTests/js/array-every-expected.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -30,12 +30,12 @@
</span><span class="cx"> PASS [12, 54, 18, 130, 44].every(isBigEnoughAndException) threw exception exception from function.
</span><span class="cx"> 
</span><span class="cx"> 5.0 Wrong Type for Callback Test
</span><del>-PASS [12, 5, 8, 130, 44].every(5) threw exception TypeError: Array.prototype.every callback must be a function.
-PASS [12, 5, 8, 130, 44].every('wrong') threw exception TypeError: Array.prototype.every callback must be a function.
-PASS [12, 5, 8, 130, 44].every(new Object()) threw exception TypeError: Array.prototype.every callback must be a function.
-PASS [12, 5, 8, 130, 44].every(null) threw exception TypeError: Array.prototype.every callback must be a function.
-PASS [12, 5, 8, 130, 44].every(undefined) threw exception TypeError: Array.prototype.every callback must be a function.
-PASS [12, 5, 8, 130, 44].every() threw exception TypeError: Array.prototype.every callback must be a function.
</del><ins>+PASS [12, 5, 8, 130, 44].every(5) threw exception TypeError: Type error.
+PASS [12, 5, 8, 130, 44].every('wrong') threw exception TypeError: Type error.
+PASS [12, 5, 8, 130, 44].every(new Object()) threw exception TypeError: Type error.
+PASS [12, 5, 8, 130, 44].every(null) threw exception TypeError: Type error.
+PASS [12, 5, 8, 130, 44].every(undefined) threw exception TypeError: Type error.
+PASS [12, 5, 8, 130, 44].every() threw exception TypeError: Type error.
</ins><span class="cx"> 
</span><span class="cx"> 6.0 Early Exit (&quot;Short Circuiting&quot;)
</span><span class="cx"> PASS [12, 5, 8, 130, 44].every(isBigEnoughShortCircuit) is false
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomarrayprototypepropertiesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/array-prototype-properties-expected.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/array-prototype-properties-expected.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/LayoutTests/js/dom/array-prototype-properties-expected.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -15,7 +15,7 @@
</span><span class="cx"> PASS Array.prototype.sort.call(undefined) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.sort.call(undefined)').
</span><span class="cx"> PASS Array.prototype.splice.call(undefined, 0, 1) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.splice.call(undefined, 0, 1)').
</span><span class="cx"> PASS Array.prototype.unshift.call(undefined, {}) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.unshift.call(undefined, {})').
</span><del>-PASS Array.prototype.every.call(undefined, toString) threw exception TypeError: Array.prototype.every requires that |this| not be undefined.
</del><ins>+PASS Array.prototype.every.call(undefined, toString) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.every.call(undefined, toString)').
</ins><span class="cx"> PASS Array.prototype.forEach.call(undefined, toString) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.forEach.call(undefined, toString)').
</span><span class="cx"> PASS Array.prototype.some.call(undefined, toString) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.some.call(undefined, toString)').
</span><span class="cx"> PASS Array.prototype.indexOf.call(undefined, 0) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.indexOf.call(undefined, 0)').
</span></span></pre></div>
<a id="trunkLayoutTestsjsregressarrayprototypeeveryexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/js/regress/array-prototype-every-expected.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/regress/array-prototype-every-expected.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/LayoutTests/js/regress/array-prototype-every-expected.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-JSRegress/array-prototype-every
-
-On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
-
-
-PASS no exception thrown
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestsjsregressarrayprototypeeveryhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/js/regress/array-prototype-every.html (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/regress/array-prototype-every.html        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/LayoutTests/js/regress/array-prototype-every.html        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
-&lt;html&gt;
-&lt;head&gt;
-&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
-&lt;/head&gt;
-&lt;body&gt;
-&lt;script src=&quot;resources/regress-pre.js&quot;&gt;&lt;/script&gt;
-&lt;script src=&quot;script-tests/array-prototype-every.js&quot;&gt;&lt;/script&gt;
-&lt;script src=&quot;resources/regress-post.js&quot;&gt;&lt;/script&gt;
-&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsjsregressscripttestsarrayprototypeeveryjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/js/regress/script-tests/array-prototype-every.js (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/regress/script-tests/array-prototype-every.js        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/LayoutTests/js/regress/script-tests/array-prototype-every.js        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,29 +0,0 @@
</span><del>-var result = 0;
-function test1(a) {
-    result &lt;&lt; 1;
-    result++;
-    return true;
-}
-function test2(a,b) {
-    result ^= 3;
-    result *= 3;
-    return true;
-}
-function test3(a,b,c) {
-    result ^= result &gt;&gt; 1;
-    return true;
-}
-
-var result = 0;
-var array = []
-for (var i = 0; i &lt; 100000; ++i)
-    array[i] = 1;
-
-for (var i = 0; i &lt; 10; i++) {
-    array.every(test1);
-    array.every(test2);
-    array.every(test3);
-}
-
-if (result != 1428810496)
-    throw &quot;Error: bad result: &quot; + result;
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSCallbackObjectFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx">     JSObjectRef thisRef = toRef(thisObject);
</span><span class="cx">     RefPtr&lt;OpaqueJSString&gt; propertyNameRef;
</span><span class="cx">     
</span><del>-    if (StringImpl* name = propertyName.uid()) {
</del><ins>+    if (StringImpl* name = propertyName.publicName()) {
</ins><span class="cx">         for (JSClassRef jsClass = thisObject-&gt;classRef(); jsClass; jsClass = jsClass-&gt;parentClass) {
</span><span class="cx">             // optional optimization to bypass getProperty in cases when we only need to know if the property exists
</span><span class="cx">             if (JSObjectHasPropertyCallback hasProperty = jsClass-&gt;hasProperty) {
</span><span class="lines">@@ -228,7 +228,7 @@
</span><span class="cx">     RefPtr&lt;OpaqueJSString&gt; propertyNameRef;
</span><span class="cx">     JSValueRef valueRef = toRef(exec, value);
</span><span class="cx">     
</span><del>-    if (StringImpl* name = propertyName.uid()) {
</del><ins>+    if (StringImpl* name = propertyName.publicName()) {
</ins><span class="cx">         for (JSClassRef jsClass = thisObject-&gt;classRef(); jsClass; jsClass = jsClass-&gt;parentClass) {
</span><span class="cx">             if (JSObjectSetPropertyCallback setProperty = jsClass-&gt;setProperty) {
</span><span class="cx">                 if (!propertyNameRef)
</span><span class="lines">@@ -343,7 +343,7 @@
</span><span class="cx">     JSObjectRef thisRef = toRef(thisObject);
</span><span class="cx">     RefPtr&lt;OpaqueJSString&gt; propertyNameRef;
</span><span class="cx">     
</span><del>-    if (StringImpl* name = propertyName.uid()) {
</del><ins>+    if (StringImpl* name = propertyName.publicName()) {
</ins><span class="cx">         for (JSClassRef jsClass = thisObject-&gt;classRef(); jsClass; jsClass = jsClass-&gt;parentClass) {
</span><span class="cx">             if (JSObjectDeletePropertyCallback deleteProperty = jsClass-&gt;deleteProperty) {
</span><span class="cx">                 if (!propertyNameRef)
</span><span class="lines">@@ -564,7 +564,7 @@
</span><span class="cx"> {
</span><span class="cx">     JSObjectRef thisRef = toRef(this);
</span><span class="cx">     
</span><del>-    if (StringImpl* name = propertyName.uid()) {
</del><ins>+    if (StringImpl* name = propertyName.publicName()) {
</ins><span class="cx">         for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass-&gt;parentClass) {
</span><span class="cx">             if (OpaqueJSClassStaticValuesTable* staticValues = jsClass-&gt;staticValues(exec)) {
</span><span class="cx">                 if (StaticValueEntry* entry = staticValues-&gt;get(name)) {
</span><span class="lines">@@ -600,7 +600,7 @@
</span><span class="cx">     if (Parent::getOwnPropertySlot(thisObj, exec, propertyName, slot2))
</span><span class="cx">         return JSValue::encode(slot2.getValue(exec, propertyName));
</span><span class="cx"> 
</span><del>-    if (StringImpl* name = propertyName.uid()) {
</del><ins>+    if (StringImpl* name = propertyName.publicName()) {
</ins><span class="cx">         for (JSClassRef jsClass = thisObj-&gt;classRef(); jsClass; jsClass = jsClass-&gt;parentClass) {
</span><span class="cx">             if (OpaqueJSClassStaticFunctionsTable* staticFunctions = jsClass-&gt;staticFunctions(exec)) {
</span><span class="cx">                 if (StaticFunctionEntry* entry = staticFunctions-&gt;get(name)) {
</span><span class="lines">@@ -626,7 +626,7 @@
</span><span class="cx">     JSObjectRef thisRef = toRef(thisObj);
</span><span class="cx">     RefPtr&lt;OpaqueJSString&gt; propertyNameRef;
</span><span class="cx">     
</span><del>-    if (StringImpl* name = propertyName.uid()) {
</del><ins>+    if (StringImpl* name = propertyName.publicName()) {
</ins><span class="cx">         for (JSClassRef jsClass = thisObj-&gt;classRef(); jsClass; jsClass = jsClass-&gt;parentClass) {
</span><span class="cx">             if (JSObjectGetPropertyCallback getProperty = jsClass-&gt;getProperty) {
</span><span class="cx">                 if (!propertyNameRef)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -5,7 +5,6 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/ForwardingHeaders&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/assembler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bindings&quot;
</span><del>-    &quot;${JAVASCRIPTCORE_DIR}/builtins&quot;
</del><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecode&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecompiler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/dfg&quot;
</span><span class="lines">@@ -53,8 +52,6 @@
</span><span class="cx">     bindings/ScriptObject.cpp
</span><span class="cx">     bindings/ScriptValue.cpp
</span><span class="cx"> 
</span><del>-    builtins/BuiltinExecutables.cpp
-
</del><span class="cx">     bytecode/ArrayAllocationProfile.cpp
</span><span class="cx">     bytecode/ArrayProfile.cpp
</span><span class="cx">     bytecode/BytecodeBasicBlock.cpp
</span><span class="lines">@@ -710,7 +707,7 @@
</span><span class="cx"> macro(GENERATE_HASH_LUT _input _output)
</span><span class="cx">     add_custom_command(
</span><span class="cx">         OUTPUT ${_output}
</span><del>-        DEPENDS ${HASH_LUT_GENERATOR} ${_input} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins
</del><ins>+        DEPENDS ${HASH_LUT_GENERATOR} ${_input}
</ins><span class="cx">         COMMAND ${PERL_EXECUTABLE} ${HASH_LUT_GENERATOR} ${_input} -i &gt; ${_output}
</span><span class="cx">         VERBATIM)
</span><span class="cx">     list(APPEND JavaScriptCore_HEADERS ${_output})
</span><span class="lines">@@ -739,7 +736,6 @@
</span><span class="cx">     yarr
</span><span class="cx"> 
</span><span class="cx">     collector/handles
</span><del>-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}
</del><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> set(JavaScriptCore_FORWARDING_HEADERS_FILES
</span><span class="lines">@@ -767,11 +763,8 @@
</span><span class="cx">     assembler/LinkBuffer.h
</span><span class="cx">     assembler/MacroAssembler.h
</span><span class="cx">     assembler/MacroAssemblerCodeRef.h
</span><del>-    assembler/MacroAssemblerCodeRef.h
</del><span class="cx">     jit/GPRInfo.h
</span><span class="cx">     runtime/VM.h
</span><del>-
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
</del><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -822,27 +815,16 @@
</span><span class="cx">     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json --output_h_dir &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot; --output_cpp_dir &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot; --output_js_dir &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot; --output_type JavaScript --write_always &amp;&amp; mkdir -p ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector &amp;&amp; cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector
</span><span class="cx">     VERBATIM)
</span><span class="cx"> 
</span><del>-# JSCBuiltins
-file(GLOB JSCBuiltins_js_files &quot;${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.js&quot;)
-add_custom_command(
-   OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
-   MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins
-   DEPENDS ${JSCBuiltins_js_files}
-   COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins ${JSCBuiltins_js_files} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp
-   VERBATIM)
-
</del><span class="cx"> list(APPEND JavaScriptCore_SOURCES
</span><span class="cx">     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp
</span><span class="cx">     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp
</span><span class="cx">     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp
</span><del>-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp
</del><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> list(APPEND JavaScriptCore_HEADERS
</span><span class="cx">     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h
</span><span class="cx">     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h
</span><span class="cx">     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h
</span><del>-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
</del><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> add_custom_command(
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,173 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * API/JSCallbackObjectFunctions.h:
+        (JSC::JSCallbackObject&lt;Parent&gt;::getOwnPropertySlot):
+        (JSC::JSCallbackObject&lt;Parent&gt;::put):
+        (JSC::JSCallbackObject&lt;Parent&gt;::deleteProperty):
+        (JSC::JSCallbackObject&lt;Parent&gt;::getStaticValue):
+        (JSC::JSCallbackObject&lt;Parent&gt;::staticFunctionGetter):
+        (JSC::JSCallbackObject&lt;Parent&gt;::callbackGetter):
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * GNUmakefile.am:
+        * GNUmakefile.list.am:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+        * JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
+        * JavaScriptCore.vcxproj/copy-files.cmd:
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * builtins/Array.prototype.js: Removed.
+        * builtins/BuiltinExecutables.cpp: Removed.
+        * builtins/BuiltinExecutables.h: Removed.
+        * bytecode/CodeBlock.cpp:
+        (JSC::CodeBlock::CodeBlock):
+        * bytecode/CodeBlock.h:
+        * bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
+        * bytecode/UnlinkedCodeBlock.cpp:
+        (JSC::generateFunctionCodeBlock):
+        (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
+        (JSC::UnlinkedFunctionExecutable::codeBlockFor):
+        (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
+        * bytecode/UnlinkedCodeBlock.h:
+        (JSC::ExecutableInfo::ExecutableInfo):
+        (JSC::UnlinkedFunctionExecutable::create):
+        * bytecompiler/BytecodeGenerator.cpp:
+        (JSC::BytecodeGenerator::BytecodeGenerator):
+        * bytecompiler/BytecodeGenerator.h:
+        (JSC::BytecodeGenerator::makeFunction):
+        * bytecompiler/NodesCodegen.cpp:
+        (JSC::CallFunctionCallDotNode::emitBytecode):
+        (JSC::ApplyFunctionCallDotNode::emitBytecode):
+        * create_hash_table:
+        * dfg/DFGDominators.cpp:
+        * dfg/DFGJITCode.cpp:
+        * dfg/DFGOperations.cpp:
+        * generate-js-builtins: Removed.
+        * interpreter/CachedCall.h:
+        (JSC::CachedCall::CachedCall):
+        * interpreter/Interpreter.cpp:
+        * interpreter/ProtoCallFrame.cpp:
+        * jit/JITOpcodes.cpp:
+        * jit/JITOpcodes32_64.cpp:
+        * jit/JITOperations.cpp:
+        * jit/JITPropertyAccess.cpp:
+        * jit/JITPropertyAccess32_64.cpp:
+        * jsc.cpp:
+        * llint/LLIntOffsetsExtractor.cpp:
+        * llint/LLIntSlowPaths.cpp:
+        * parser/ASTBuilder.h:
+        (JSC::ASTBuilder::makeFunctionCallNode):
+        * parser/Lexer.cpp:
+        (JSC::Lexer&lt;T&gt;::Lexer):
+        (JSC::Lexer&lt;LChar&gt;::parseIdentifier):
+        (JSC::Lexer&lt;UChar&gt;::parseIdentifier):
+        (JSC::Lexer&lt;T&gt;::lex):
+        * parser/Lexer.h:
+        (JSC::Lexer&lt;T&gt;::lexExpectIdentifier):
+        * parser/Nodes.cpp:
+        * parser/Nodes.h:
+        * parser/Parser.cpp:
+        (JSC::Parser&lt;LexerType&gt;::Parser):
+        (JSC::Parser&lt;LexerType&gt;::parseInner):
+        (JSC::Parser&lt;LexerType&gt;::didFinishParsing):
+        (JSC::Parser&lt;LexerType&gt;::printUnexpectedTokenText):
+        * parser/Parser.h:
+        (JSC::parse):
+        * parser/ParserModes.h:
+        * parser/ParserTokens.h:
+        * runtime/Arguments.h:
+        * runtime/ArgumentsIteratorPrototype.cpp:
+        * runtime/ArrayPrototype.cpp:
+        (JSC::arrayProtoFuncEvery):
+        * runtime/CodeCache.cpp:
+        (JSC::CodeCache::getFunctionExecutableFromGlobalCode):
+        * runtime/CommonIdentifiers.cpp:
+        (JSC::CommonIdentifiers::CommonIdentifiers):
+        * runtime/CommonIdentifiers.h:
+        * runtime/CommonSlowPaths.cpp:
+        * runtime/CommonSlowPathsExceptions.cpp:
+        * runtime/ExceptionHelpers.cpp:
+        (JSC::createUndefinedVariableError):
+        * runtime/Executable.h:
+        (JSC::EvalExecutable::executableInfo):
+        (JSC::ProgramExecutable::executableInfo):
+        (JSC::isHostFunction):
+        * runtime/FunctionPrototype.cpp:
+        (JSC::functionProtoFuncToString):
+        * runtime/JSActivation.cpp:
+        (JSC::JSActivation::symbolTableGet):
+        (JSC::JSActivation::symbolTablePut):
+        (JSC::JSActivation::symbolTablePutWithAttributes):
+        * runtime/JSArgumentsIterator.cpp:
+        * runtime/JSArray.cpp:
+        * runtime/JSArrayIterator.cpp:
+        * runtime/JSCJSValue.cpp:
+        * runtime/JSCellInlines.h:
+        * runtime/JSFunction.cpp:
+        (JSC::JSFunction::calculatedDisplayName):
+        (JSC::JSFunction::sourceCode):
+        (JSC::JSFunction::callerGetter):
+        (JSC::JSFunction::getOwnPropertySlot):
+        (JSC::JSFunction::getOwnNonIndexPropertyNames):
+        (JSC::JSFunction::put):
+        (JSC::JSFunction::defineOwnProperty):
+        * runtime/JSFunction.h:
+        * runtime/JSFunctionInlines.h:
+        (JSC::JSFunction::nativeFunction):
+        (JSC::JSFunction::nativeConstructor):
+        * runtime/JSGenericTypedArrayViewConstructorInlines.h:
+        * runtime/JSGenericTypedArrayViewInlines.h:
+        * runtime/JSGenericTypedArrayViewPrototypeInlines.h:
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::reset):
+        (JSC::JSGlobalObject::visitChildren):
+        * runtime/JSGlobalObject.h:
+        (JSC::JSGlobalObject::symbolTableHasProperty):
+        * runtime/JSObject.cpp:
+        (JSC::getClassPropertyNames):
+        (JSC::JSObject::reifyStaticFunctionsForDelete):
+        * runtime/JSObject.h:
+        * runtime/JSPromiseConstructor.cpp:
+        * runtime/JSPromiseDeferred.cpp:
+        * runtime/JSPromisePrototype.cpp:
+        * runtime/JSPromiseReaction.h:
+        * runtime/JSPropertyNameIterator.cpp:
+        * runtime/JSPropertyNameIterator.h:
+        * runtime/JSString.h:
+        (JSC::JSString::getStringPropertySlot):
+        (JSC::inlineJSValueNotStringtoString):
+        (JSC::JSValue::toWTFStringInline):
+        * runtime/JSStringInlines.h: Removed.
+        * runtime/JSSymbolTableObject.cpp:
+        (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
+        * runtime/JSSymbolTableObject.h:
+        (JSC::symbolTableGet):
+        (JSC::symbolTablePut):
+        (JSC::symbolTablePutWithAttributes):
+        * runtime/Lookup.cpp:
+        (JSC::setUpStaticFunctionSlot):
+        * runtime/Lookup.h:
+        (JSC::HashEntry::propertyGetter):
+        (JSC::HashEntry::propertyPutter):
+        (JSC::HashTable::entry):
+        (JSC::getStaticPropertySlot):
+        (JSC::getStaticValueSlot):
+        (JSC::putEntry):
+        * runtime/NativeErrorConstructor.cpp:
+        * runtime/NativeErrorConstructor.h:
+        (JSC::NativeErrorConstructor::finishCreation):
+        * runtime/PropertySlot.h:
+        * runtime/RegExpConstructor.cpp:
+        * runtime/RegExpPrototype.cpp:
+        * runtime/SetConstructor.cpp:
+        * runtime/StringObject.cpp:
+        * runtime/Structure.cpp:
+        * runtime/VM.cpp:
+        (JSC::VM::VM):
+        * runtime/VM.h:
+
</ins><span class="cx"> 2014-01-31  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         DFG-&gt;FTL tier-up shouldn't assume that LoopHints stay at the tops of loops
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/DerivedSources.make (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/DerivedSources.make        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/DerivedSources.make        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -28,9 +28,8 @@
</span><span class="cx">     $(JavaScriptCore) \
</span><span class="cx">     $(JavaScriptCore)/parser \
</span><span class="cx">     $(JavaScriptCore)/runtime \
</span><del>-        $(JavaScriptCore)/interpreter \
-        $(JavaScriptCore)/jit \
-        $(JavaScriptCore)/builtins \
</del><ins>+    $(JavaScriptCore)/interpreter \
+    $(JavaScriptCore)/jit \
</ins><span class="cx"> #
</span><span class="cx"> 
</span><span class="cx"> .PHONY : all
</span><span class="lines">@@ -58,18 +57,8 @@
</span><span class="cx">     RegExpObject.lut.h \
</span><span class="cx">     StringConstructor.lut.h \
</span><span class="cx">     udis86_itab.h \
</span><del>-    JSCBuiltins \
</del><span class="cx"> #
</span><span class="cx"> 
</span><del>-# builtin functions
-.PHONY: JSCBuiltins
-
-JSCBuiltins: $(JavaScriptCore)/generate-js-builtins JSCBuiltins.h JSCBuiltins.cpp
-JSCBuiltins.h: $(JavaScriptCore)/generate-js-builtins $(JavaScriptCore)/builtins/*.js
-        python $^ $@
-                                                                                                                                                                 
-JSCBuiltins.cpp: JSCBuiltins.h
-
</del><span class="cx"> # lookup tables for classes
</span><span class="cx"> 
</span><span class="cx"> %.lut.h: create_hash_table %.cpp
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.am (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.am        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/GNUmakefile.am        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -51,7 +51,6 @@
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/assembler \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/bindings \
</span><del>-        -I$(srcdir)/Source/JavaScriptCore/builtins \
</del><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/bytecode \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/bytecompiler \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/debugger \
</span><span class="lines">@@ -111,16 +110,12 @@
</span><span class="cx">         $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm $@
</span><span class="cx">         $(AM_V_at)touch $@
</span><span class="cx"> 
</span><del>-$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h 
</del><ins>+$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h
</ins><span class="cx"> 
</span><span class="cx"> DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
</span><span class="cx">         $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/asm.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@
</span><span class="cx">         $(AM_V_at)touch $@
</span><span class="cx"> 
</span><del>-DerivedSources/JavaScriptCore/JSCBuiltins.h: DerivedSources/JavaScriptCore/JSCBuiltins.cpp
-DerivedSources/JavaScriptCore/JSCBuiltins.cpp: $(srcdir)/Source/JavaScriptCore/generate-js-builtins $(javascriptcore_builtins_js_nosources)
-        $(AM_V_GEN)$(PYTHON) $^ $@
-
</del><span class="cx"> $(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/JavaScriptCore/LLIntAssembly.h
</span><span class="cx"> 
</span><span class="cx"> jsc: $(javascriptcore_built_nosources) Programs/jsc$(EXEEXT)
</span><span class="lines">@@ -221,7 +216,6 @@
</span><span class="cx">         Source/JavaScriptCore/KeywordLookupGenerator.py \
</span><span class="cx">         Source/JavaScriptCore/parser/Keywords.table \
</span><span class="cx">         Source/JavaScriptCore/THANKS \
</span><del>-        $(javascriptcore_builtins_js_nosources) \
</del><span class="cx">         $(llint_nosources) \
</span><span class="cx">         $(offlineasm_nosources)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.list.am (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -20,8 +20,6 @@
</span><span class="cx">         DerivedSources/JavaScriptCore/ErrorPrototype.lut.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/JSDataViewPrototype.lut.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/JSGlobalObject.lut.h \
</span><del>-        DerivedSources/JavaScriptCore/JSCBuiltins.cpp \
-        DerivedSources/JavaScriptCore/JSCBuiltins.h \
</del><span class="cx">         DerivedSources/JavaScriptCore/JSONObject.lut.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/JSPromiseConstructor.lut.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/JSPromisePrototype.lut.h \
</span><span class="lines">@@ -37,9 +35,6 @@
</span><span class="cx">         DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/LLIntAssembly.h
</span><span class="cx"> 
</span><del>-javascriptcore_builtins_js_nosources += \
-        Source/JavaScriptCore/builtins/Array.prototype.js
-
</del><span class="cx"> javascriptcore_sources += \
</span><span class="cx">         Source/JavaScriptCore/API/APICallbackFunction.h \
</span><span class="cx">         Source/JavaScriptCore/API/APICast.h \
</span><span class="lines">@@ -107,8 +102,6 @@
</span><span class="cx">     Source/JavaScriptCore/bindings/ScriptObject.h \
</span><span class="cx">     Source/JavaScriptCore/bindings/ScriptValue.cpp \
</span><span class="cx">     Source/JavaScriptCore/bindings/ScriptValue.h \
</span><del>-    Source/JavaScriptCore/builtins/BuiltinExecutables.cpp \
-    Source/JavaScriptCore/builtins/BuiltinExecutables.h \
</del><span class="cx">         Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp \
</span><span class="cx">         Source/JavaScriptCore/bytecode/ArrayAllocationProfile.h \
</span><span class="cx">         Source/JavaScriptCore/bytecode/ArrayProfile.cpp \
</span><span class="lines">@@ -1248,9 +1241,7 @@
</span><span class="cx">         DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.cpp \
</span><span class="cx">         DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h \
</span><span class="cx">         DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp \
</span><del>-        DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h \
-        DerivedSources/JavaScriptCore/JSCBuiltins.cpp \
-        DerivedSources/JavaScriptCore/JSCBuiltins.h
</del><ins>+        DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h
</ins><span class="cx"> 
</span><span class="cx"> llint_nosources += \
</span><span class="cx">         Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -309,7 +309,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\ScriptFunctionCall.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\ScriptObject.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\ScriptValue.cpp&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\builtins\BuiltinExecutables.cpp&quot; /&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\ArrayAllocationProfile.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\ArrayProfile.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\BytecodeBasicBlock.cpp&quot; /&gt;
</span><span class="lines">@@ -722,7 +721,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSBackendDispatchers.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSFrontendDispatchers.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSTypeBuilders.cpp&quot; /&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCBuiltins.cpp&quot; /&gt;
</del><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ArrayConstructor.lut.h&quot; /&gt;
</span><span class="lines">@@ -752,7 +750,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\RegExpObject.lut.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\RegExpPrototype.lut.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StringConstructor.lut.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCBuiltins.h&quot; /&gt;
</del><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\API\APICallbackFunction.h&quot; /&gt;
</span><span class="lines">@@ -801,7 +798,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\ScriptFunctionCall.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\ScriptObject.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\ScriptValue.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\builtins\BuiltinExecutables.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ArrayAllocationProfile.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ArrayProfile.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ByValInfo.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -7,9 +7,6 @@
</span><span class="cx">     &lt;Filter Include=&quot;bindings&quot;&gt;
</span><span class="cx">       &lt;UniqueIdentifier&gt;{0bace123-4582-eebc-9314-7819b376c198}&lt;/UniqueIdentifier&gt;
</span><span class="cx">     &lt;/Filter&gt;
</span><del>-    &lt;Filter Include=&quot;builtins&quot;&gt;
-      &lt;UniqueIdentifier&gt;{3b9d72a5-135b-43b3-a524-c6d2b9d29d35}&lt;/UniqueIdentifier&gt;
-    &lt;/Filter&gt;
</del><span class="cx">     &lt;Filter Include=&quot;bytecode&quot;&gt;
</span><span class="cx">       &lt;UniqueIdentifier&gt;{766088a0-1216-4854-aa43-560c5e283668}&lt;/UniqueIdentifier&gt;
</span><span class="cx">     &lt;/Filter&gt;
</span><span class="lines">@@ -111,9 +108,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\assembler\MacroAssembler.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;assembler&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\builtins\BuiltinExecutables.cpp&quot;&gt;
-      &lt;Filter&gt;builtins&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\ArrayAllocationProfile.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -1335,9 +1329,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSTypeBuilders.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCBuiltins.cpp&quot;&gt;
-      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\API\APICallbackFunction.h&quot;&gt;
</span><span class="lines">@@ -1463,9 +1454,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\assembler\X86Assembler.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;assembler&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\builtins\BuiltinExecutables.h&quot;&gt;
-      &lt;Filter&gt;builtins&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ArrayAllocationProfile.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -2562,9 +2550,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ArrayPrototype.lut.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCBuiltins.h&quot;&gt;
-      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\VM.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;runtime&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoreCommonprops"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreCommon.props (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreCommon.props        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreCommon.props        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">   &lt;PropertyGroup /&gt;
</span><span class="cx">   &lt;ItemDefinitionGroup&gt;
</span><span class="cx">     &lt;ClCompile&gt;
</span><del>-      &lt;AdditionalIncludeDirectories&gt;..\;..\tools\;..\runtime\;..\llint\;..\jit\;..\disassembler\;..\heap\;..\debugger\;..\assembler\;..\profiler\;..\yarr\;..\interpreter\;..\bytecode\;..\builtins\;..\dfg\;..\bytecompiler\;..\parser\;..\API\;..\ftl\;..\bindings\;..\inspector\;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\JavaScriptCore\DerivedSources\;$(ConfigurationBuildDir)\include\;$(ConfigurationBuildDir)\include\JavaScriptCore\;$(ConfigurationBuildDir)\include\private\;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;%(AdditionalIncludeDirectories)&lt;/AdditionalIncludeDirectories&gt;
</del><ins>+      &lt;AdditionalIncludeDirectories&gt;..\;..\tools\;..\runtime\;..\llint\;..\jit\;..\disassembler\;..\heap\;..\debugger\;..\assembler\;..\profiler\;..\yarr\;..\interpreter\;..\bytecode\;..\dfg\;..\bytecompiler\;..\parser\;..\API\;..\ftl\;..\bindings\;..\inspector\;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\JavaScriptCore\DerivedSources\;$(ConfigurationBuildDir)\include\;$(ConfigurationBuildDir)\include\JavaScriptCore\;$(ConfigurationBuildDir)\include\private\;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;%(AdditionalIncludeDirectories)&lt;/AdditionalIncludeDirectories&gt;
</ins><span class="cx">       &lt;ForcedIncludeFiles&gt;ICUVersion.h;%(ForcedIncludeFiles)&lt;/ForcedIncludeFiles&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">     &lt;Link&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx">     assembler
</span><span class="cx">     bindings
</span><span class="cx">     bytecode
</span><del>-    builtins
</del><span class="cx">     dfg
</span><span class="cx">     disassembler
</span><span class="cx">     heap
</span><span class="lines">@@ -73,9 +72,6 @@
</span><span class="cx"> xcopy /y &quot;%DerivedSourcesDirectory%\InspectorJSBackendDispatchers.h&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
</span><span class="cx"> xcopy /y &quot;%DerivedSourcesDirectory%\InspectorJSFrontendDispatchers.h&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
</span><span class="cx"> 
</span><del>-echo Copying builtins header as if it were a private header...
-xcopy /y &quot;%DerivedSourcesDirectory%\JSCBuiltins.h&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
-
</del><span class="cx"> echo Copying resources...
</span><span class="cx"> mkdir &quot;%ResourcesDirectory%&quot; 2&gt;NUL
</span><span class="cx"> xcopy /y /d JavaScriptCore.resources\* &quot;%ResourcesDirectory%&quot; &gt;NUL
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -922,6 +922,7 @@
</span><span class="cx">                 A503FA19188E0FB000110F14 /* JavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */; };
</span><span class="cx">                 A503FA1A188E0FB000110F14 /* JavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */; };
</span><span class="cx">                 A503FA1B188E0FB000110F14 /* JSJavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */; };
</span><ins>+                A503FA1C188E0FB000110F14 /* JSJavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */; };
</ins><span class="cx">                 A503FA1D188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */; };
</span><span class="cx">                 A503FA1E188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */; };
</span><span class="cx">                 A503FA21188EFF6800110F14 /* ScriptBreakpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -1023,7 +1024,6 @@
</span><span class="cx">                 A70B083217A0B79B00DAF14B /* DFGBinarySwitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A70B083017A0B79B00DAF14B /* DFGBinarySwitch.cpp */; };
</span><span class="cx">                 A70B083317A0B79B00DAF14B /* DFGBinarySwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = A70B083117A0B79B00DAF14B /* DFGBinarySwitch.h */; };
</span><span class="cx">                 A71236E51195F33C00BD2174 /* JITOpcodes32_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A71236E41195F33C00BD2174 /* JITOpcodes32_64.cpp */; };
</span><del>-                A71DA80F1880DBAB00D1F299 /* JSStringInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = A71DA80E1880DBAB00D1F299 /* JSStringInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 A72028B61797601E0098028C /* JSCTestRunnerUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A72028B41797601E0098028C /* JSCTestRunnerUtils.cpp */; };
</span><span class="cx">                 A72028B81797601E0098028C /* JSCTestRunnerUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = A72028B51797601E0098028C /* JSCTestRunnerUtils.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A72028BA1797603D0098028C /* JSFunctionInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = A72028B91797603D0098028C /* JSFunctionInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -1150,10 +1150,6 @@
</span><span class="cx">                 A7CA3AE817DA41AE006538AF /* JSWeakMap.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3AE217DA41AE006538AF /* JSWeakMap.h */; };
</span><span class="cx">                 A7CA3AEB17DA5168006538AF /* WeakMapData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3AE917DA5168006538AF /* WeakMapData.cpp */; };
</span><span class="cx">                 A7CA3AEC17DA5168006538AF /* WeakMapData.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3AEA17DA5168006538AF /* WeakMapData.h */; };
</span><del>-                A7D801A41880D66E0026C39B /* BuiltinExecutables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D801A11880D66E0026C39B /* BuiltinExecutables.cpp */; };
-                A7D801A51880D66E0026C39B /* BuiltinExecutables.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D801A21880D66E0026C39B /* BuiltinExecutables.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                A7D801A81880D6A80026C39B /* JSCBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D801A61880D6A80026C39B /* JSCBuiltins.cpp */; };
-                A7D801A91880D6A80026C39B /* JSCBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D801A71880D6A80026C39B /* JSCBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 A7D89CF217A0B8CC00773AD8 /* DFGBasicBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D89CE317A0B8CC00773AD8 /* DFGBasicBlock.cpp */; };
</span><span class="cx">                 A7D89CF317A0B8CC00773AD8 /* DFGBlockInsertionSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D89CE417A0B8CC00773AD8 /* DFGBlockInsertionSet.cpp */; };
</span><span class="cx">                 A7D89CF417A0B8CC00773AD8 /* DFGBlockInsertionSet.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D89CE517A0B8CC00773AD8 /* DFGBlockInsertionSet.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -2466,8 +2462,6 @@
</span><span class="cx">                 A71236E41195F33C00BD2174 /* JITOpcodes32_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JITOpcodes32_64.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A718F61A11754A21002465A7 /* RegExpJitTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpJitTables.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A718F8211178EB4B002465A7 /* create_regex_tables */ = {isa = PBXFileReference; explicitFileType = text.script.python; fileEncoding = 4; path = create_regex_tables; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                A71DA80D1880D71F00D1F299 /* generate-js-builtins */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = &quot;generate-js-builtins&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
-                A71DA80E1880DBAB00D1F299 /* JSStringInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSStringInlines.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 A72028B41797601E0098028C /* JSCTestRunnerUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCTestRunnerUtils.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A72028B51797601E0098028C /* JSCTestRunnerUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCTestRunnerUtils.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A72028B91797603D0098028C /* JSFunctionInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFunctionInlines.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2596,11 +2590,6 @@
</span><span class="cx">                 A7CA3AE217DA41AE006538AF /* JSWeakMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWeakMap.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7CA3AE917DA5168006538AF /* WeakMapData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WeakMapData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7CA3AEA17DA5168006538AF /* WeakMapData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakMapData.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                A7D801A01880D66E0026C39B /* Array.prototype.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = Array.prototype.js; sourceTree = &quot;&lt;group&gt;&quot;; };
-                A7D801A11880D66E0026C39B /* BuiltinExecutables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltinExecutables.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                A7D801A21880D66E0026C39B /* BuiltinExecutables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuiltinExecutables.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                A7D801A61880D6A80026C39B /* JSCBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCBuiltins.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                A7D801A71880D6A80026C39B /* JSCBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 A7D89CE317A0B8CC00773AD8 /* DFGBasicBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGBasicBlock.cpp; path = dfg/DFGBasicBlock.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7D89CE417A0B8CC00773AD8 /* DFGBlockInsertionSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGBlockInsertionSet.cpp; path = dfg/DFGBlockInsertionSet.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A7D89CE517A0B8CC00773AD8 /* DFGBlockInsertionSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGBlockInsertionSet.h; path = dfg/DFGBlockInsertionSet.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2937,7 +2926,6 @@
</span><span class="cx">                                 8604F4F2143A6C4400B295F5 /* ChangeLog */,
</span><span class="cx">                                 F692A8540255597D01FF60F7 /* create_hash_table */,
</span><span class="cx">                                 A718F8211178EB4B002465A7 /* create_regex_tables */,
</span><del>-                                A71DA80D1880D71F00D1F299 /* generate-js-builtins */,
</del><span class="cx">                                 45E12D8806A49B0F00E9DF84 /* jsc.cpp */,
</span><span class="cx">                                 F68EBB8C0255D4C601FF60F7 /* config.h */,
</span><span class="cx">                                 F5C290E60284F98E018635CA /* JavaScriptCorePrefix.h */,
</span><span class="lines">@@ -2946,7 +2934,6 @@
</span><span class="cx">                                 1432EBD70A34CAD400717B9F /* API */,
</span><span class="cx">                                 9688CB120ED12B4E001D649F /* assembler */,
</span><span class="cx">                                 A54CF2EA184EA73900237F19 /* bindings */,
</span><del>-                                A7D8019F1880D66E0026C39B /* builtins */,
</del><span class="cx">                                 969A078F0ED1D3AE00F1F681 /* bytecode */,
</span><span class="cx">                                 7E39D81D0EC38EFA003AF11A /* bytecompiler */,
</span><span class="cx">                                 1C90513E0BA9E8830081E9D0 /* Configurations */,
</span><span class="lines">@@ -3522,8 +3509,6 @@
</span><span class="cx">                 650FDF8D09D0FCA700769E54 /* Derived Sources */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                A7D801A61880D6A80026C39B /* JSCBuiltins.cpp */,
-                                A7D801A71880D6A80026C39B /* JSCBuiltins.h */,
</del><span class="cx">                                 BC18C5230E16FC8A00B34460 /* ArrayPrototype.lut.h */,
</span><span class="cx">                                 BCD203E70E1718F4002C7E82 /* DatePrototype.lut.h */,
</span><span class="cx">                                 A513E5C6185F9436007E95AD /* InjectedScriptSource.h */,
</span><span class="lines">@@ -3826,7 +3811,6 @@
</span><span class="cx">                                 A790DD6A182F499700588807 /* JSSetIterator.h */,
</span><span class="cx">                                 BC02E9B60E1842FA000F9297 /* JSString.cpp */,
</span><span class="cx">                                 F692A8620255597D01FF60F7 /* JSString.h */,
</span><del>-                                A71DA80E1880DBAB00D1F299 /* JSStringInlines.h */,
</del><span class="cx">                                 86E85538111B9968001AF51E /* JSStringBuilder.h */,
</span><span class="cx">                                 2600B5A4152BAAA70091EE5F /* JSStringJoiner.cpp */,
</span><span class="cx">                                 2600B5A5152BAAA70091EE5F /* JSStringJoiner.h */,
</span><span class="lines">@@ -4577,16 +4561,6 @@
</span><span class="cx">                         path = remote;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><del>-                A7D8019F1880D66E0026C39B /* builtins */ = {
-                        isa = PBXGroup;
-                        children = (
-                                A7D801A01880D66E0026C39B /* Array.prototype.js */,
-                                A7D801A11880D66E0026C39B /* BuiltinExecutables.cpp */,
-                                A7D801A21880D66E0026C39B /* BuiltinExecutables.h */,
-                        );
-                        path = builtins;
-                        sourceTree = &quot;&lt;group&gt;&quot;;
-                };
</del><span class="cx"> /* End PBXGroup section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXHeadersBuildPhase section */
</span><span class="lines">@@ -4632,11 +4606,11 @@
</span><span class="cx">                                 86ADD1450FDDEA980006EEC2 /* ARMv7Assembler.h in Headers */,
</span><span class="cx">                                 A5CEEE15187F3BAD00E55C99 /* InspectorAgent.h in Headers */,
</span><span class="cx">                                 65C0285D1717966800351E35 /* ARMv7DOpcode.h in Headers */,
</span><del>-                                2A68295B1875F80500B6C3E2 /* CopyWriteBarrier.h in Headers */,
-                                2A4EC90C1860D6C20094F782 /* WriteBarrierBuffer.h in Headers */,
</del><ins>+                                 2A68295B1875F80500B6C3E2 /* CopyWriteBarrier.h in Headers */,
+                2A4EC90C1860D6C20094F782 /* WriteBarrierBuffer.h in Headers */,
</ins><span class="cx">                                 FE5932A8183C5A2600A1ECCC /* VMEntryScope.h in Headers */,
</span><span class="cx">                                 A532439318569709002ED692 /* CodeGeneratorInspectorStrings.py in Headers */,
</span><del>-                                A532439218569709002ED692 /* CodeGeneratorInspector.py in Headers */,
</del><ins>+                                 A532439218569709002ED692 /* CodeGeneratorInspector.py in Headers */,
</ins><span class="cx">                                 0F24E54F17EE274900ABB217 /* TempRegisterSet.h in Headers */,
</span><span class="cx">                                 A50E4B6418809DD50068A46D /* JSGlobalObjectRuntimeAgent.h in Headers */,
</span><span class="cx">                                 FEB58C15187B8B160098EF0B /* ErrorHandlingScope.h in Headers */,
</span><span class="lines">@@ -4648,7 +4622,7 @@
</span><span class="cx">                                 0F8335B81639C1EA001443B5 /* ArrayAllocationProfile.h in Headers */,
</span><span class="cx">                                 A5840E29187CA5E600843B10 /* inline-and-minify-stylesheets-and-scripts.py in Headers */,
</span><span class="cx">                                 A5840E2B187CA75B00843B10 /* jsmin.py in Headers */,
</span><del>-                                A53243981856A489002ED692 /* InspectorJS.json in Headers */,
</del><ins>+                                 A53243981856A489002ED692 /* InspectorJS.json in Headers */,
</ins><span class="cx">                                 A5840E2A187CA75900843B10 /* xxd.pl in Headers */,
</span><span class="cx">                                 FEA08620182B7A0400F6D851 /* Breakpoint.h in Headers */,
</span><span class="cx">                                 A7A8AF3517ADB5F3005AB174 /* ArrayBuffer.h in Headers */,
</span><span class="lines">@@ -4759,7 +4733,7 @@
</span><span class="cx">                                 A1A009C01831A22D00CF8711 /* MacroAssemblerARM64.h in Headers */,
</span><span class="cx">                                 86EC9DC51328DF82002B2AD7 /* DFGByteCodeParser.h in Headers */,
</span><span class="cx">                                 0F485328187DFDEC0083B687 /* FTLAvailableRecovery.h in Headers */,
</span><del>-                                A593CF87184038CA00BFCE27 /* InspectorAgentRegistry.h in Headers */,
</del><ins>+                A593CF87184038CA00BFCE27 /* InspectorAgentRegistry.h in Headers */,
</ins><span class="cx">                                 0F256C361627B0AD007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h in Headers */,
</span><span class="cx">                                 0F7B294B14C3CD2F007C3DB1 /* DFGCapabilities.h in Headers */,
</span><span class="cx">                                 0FFFC95814EF90A200C72532 /* DFGCFAPhase.h in Headers */,
</span><span class="lines">@@ -4898,7 +4872,6 @@
</span><span class="cx">                                 0FEA0A1D1708B00700BB722C /* FTLAbstractHeap.h in Headers */,
</span><span class="cx">                                 0FEA0A1F1708B00700BB722C /* FTLAbstractHeapRepository.h in Headers */,
</span><span class="cx">                                 A59455931824744700CC3843 /* JSGlobalObjectDebuggable.h in Headers */,
</span><del>-                                A7D801A91880D6A80026C39B /* JSCBuiltins.h in Headers */,
</del><span class="cx">                                 0FEA0A0A170513DB00BB722C /* FTLCapabilities.h in Headers */,
</span><span class="cx">                                 0F48532A187DFDEC0083B687 /* FTLRecoveryOpcode.h in Headers */,
</span><span class="cx">                                 0FEA0A231709606900BB722C /* FTLCommonValues.h in Headers */,
</span><span class="lines">@@ -4973,7 +4946,6 @@
</span><span class="cx">                                 BC18C40F0E16F5CD00B34460 /* Identifier.h in Headers */,
</span><span class="cx">                                 C25F8BCE157544A900245B71 /* IncrementalSweeper.h in Headers */,
</span><span class="cx">                                 0FB7F39915ED8E4600F167B2 /* IndexingHeader.h in Headers */,
</span><del>-                                A7D801A51880D66E0026C39B /* BuiltinExecutables.h in Headers */,
</del><span class="cx">                                 0FB7F39A15ED8E4600F167B2 /* IndexingHeaderInlines.h in Headers */,
</span><span class="cx">                                 0FB7F39B15ED8E4600F167B2 /* IndexingType.h in Headers */,
</span><span class="cx">                                 0FCEFAB01805CA6D00472CE4 /* InitializeLLVM.h in Headers */,
</span><span class="lines">@@ -5246,7 +5218,6 @@
</span><span class="cx">                                 A532438818568335002ED692 /* InspectorJSBackendDispatchers.h in Headers */,
</span><span class="cx">                                 BC18C4560E16F5CD00B34460 /* Protect.h in Headers */,
</span><span class="cx">                                 1474C33B16AA2D950062F01D /* PrototypeMap.h in Headers */,
</span><del>-                                A71DA80F1880DBAB00D1F299 /* JSStringInlines.h in Headers */,
</del><span class="cx">                                 0F9332A414CA7DD90085F3C6 /* PutByIdStatus.h in Headers */,
</span><span class="cx">                                 0F0CD4C215F1A6070032F1C0 /* PutDirectIndexMode.h in Headers */,
</span><span class="cx">                                 7C008CE7187631B600955C24 /* Microtask.h in Headers */,
</span><span class="lines">@@ -5865,7 +5836,6 @@
</span><span class="cx">                                 A7D89CF217A0B8CC00773AD8 /* DFGBasicBlock.cpp in Sources */,
</span><span class="cx">                                 A70B083217A0B79B00DAF14B /* DFGBinarySwitch.cpp in Sources */,
</span><span class="cx">                                 A7D89CF317A0B8CC00773AD8 /* DFGBlockInsertionSet.cpp in Sources */,
</span><del>-                                A7D801A41880D66E0026C39B /* BuiltinExecutables.cpp in Sources */,
</del><span class="cx">                                 86EC9DC41328DF82002B2AD7 /* DFGByteCodeParser.cpp in Sources */,
</span><span class="cx">                                 0FD82E2114172CE300179C94 /* DFGCapabilities.cpp in Sources */,
</span><span class="cx">                                 0FFFC95714EF90A000C72532 /* DFGCFAPhase.cpp in Sources */,
</span><span class="lines">@@ -5882,7 +5852,6 @@
</span><span class="cx">                                 0FFFC95914EF90A600C72532 /* DFGCSEPhase.cpp in Sources */,
</span><span class="cx">                                 0F2FC77216E12F710038D976 /* DFGDCEPhase.cpp in Sources */,
</span><span class="cx">                                 0F8F2B99172F04FF007DBDA5 /* DFGDesiredIdentifiers.cpp in Sources */,
</span><del>-                                A7D801A81880D6A80026C39B /* JSCBuiltins.cpp in Sources */,
</del><span class="cx">                                 A73E1330179624CD00E4DEA8 /* DFGDesiredStructureChains.cpp in Sources */,
</span><span class="cx">                                 C2C0F7CD17BBFC5B00464FE4 /* DFGDesiredTransitions.cpp in Sources */,
</span><span class="cx">                                 0FE8534B1723CDA500B618F5 /* DFGDesiredWatchpoints.cpp in Sources */,
</span><span class="lines">@@ -6007,7 +5976,7 @@
</span><span class="cx">                                 0F6B1CC51862C47800845D97 /* FTLUnwindInfo.cpp in Sources */,
</span><span class="cx">                                 0F9D339A1803ADB70073C2BC /* FTLStackMaps.cpp in Sources */,
</span><span class="cx">                                 0FEA0A161706BB9000BB722C /* FTLState.cpp in Sources */,
</span><del>-                                7C008CD2186F8A9300955C24 /* JSPromiseFunctions.cpp in Sources */,
</del><ins>+                                 7C008CD2186F8A9300955C24 /* JSPromiseFunctions.cpp in Sources */,
</ins><span class="cx">                                 0F6B1CB5185FC9E900845D97 /* FTLJSCall.cpp in Sources */,
</span><span class="cx">                                 0F235BE117178E1C00690C7F /* FTLThunks.cpp in Sources */,
</span><span class="cx">                                 A593CF7C1840360300BFCE27 /* InspectorBackendDispatcher.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsArrayprototypejs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/builtins/Array.prototype.js (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/Array.prototype.js        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/builtins/Array.prototype.js        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,51 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 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.
- */
-
-function every(callback /*, thisArg */) {
-    &quot;use strict&quot;;
-    if (this === null)
-        throw new @TypeError(&quot;Array.prototype.every requires that |this| not be null&quot;);
-    
-    if (this === undefined)
-        throw new @TypeError(&quot;Array.prototype.every requires that |this| not be undefined&quot;);
-    
-    var array = @Object(this);
-    var length = array.length &gt;&gt;&gt; 0;
-    
-    if (typeof callback !== &quot;function&quot;)
-        throw new @TypeError(&quot;Array.prototype.every callback must be a function&quot;);
-
-    var thisArg = arguments.length &gt; 1 ? arguments[1] : undefined;
-    
-    for (var i = 0; i &lt; length; i++) {
-        if (!(i in array))
-            continue;
-        if (!callback.@call(thisArg, array[i], i, array))
-            return false;
-    }
-    
-    return true;
-}
-
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsBuiltinExecutablescpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,95 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 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;BuiltinExecutables.h&quot;
-
-#include &quot;Executable.h&quot;
-#include &quot;JSCellInlines.h&quot;
-#include &quot;JSFunctionInlines.h&quot;
-#include &quot;Parser.h&quot;
-
-namespace JSC {
-
-BuiltinExecutables::BuiltinExecutables(VM&amp; vm)
-    : m_vm(vm)
-#define INITIALIZE_BUILTIN_SOURCE_MEMBERS(name, functionName, length) , m_##name##Source(makeSource(StringImpl::createFromLiteral(s_##name, length), StringImpl::createFromLiteral(&quot;&lt;builtin&gt;&quot;)))
-    JSC_FOREACH_BUILTIN(INITIALIZE_BUILTIN_SOURCE_MEMBERS)
-#undef EXPOSE_BUILTIN_STRINGS
-{
-}
-
-UnlinkedFunctionExecutable* BuiltinExecutables::createBuiltinExecutable(const SourceCode&amp; source, const Identifier&amp; name)
-{
-    JSTextPosition positionBeforeLastNewline;
-    ParserError error;
-    RefPtr&lt;ProgramNode&gt; program = parse&lt;ProgramNode&gt;(&amp;m_vm, source, 0, Identifier(), JSParseBuiltin, JSParseProgramCode, error, &amp;positionBeforeLastNewline);
-
-    if (!program) {
-        dataLog(&quot;Fatal error compiling builtin function '&quot;, name.string(), &quot;': &quot;, error.m_message);
-        CRASH();
-    }
-
-    StatementNode* exprStatement = program-&gt;singleStatement();
-    RELEASE_ASSERT(exprStatement);
-    RELEASE_ASSERT(exprStatement-&gt;isExprStatement());
-    ExpressionNode* funcExpr = static_cast&lt;ExprStatementNode*&gt;(exprStatement)-&gt;expr();
-    RELEASE_ASSERT(funcExpr);
-    RELEASE_ASSERT(funcExpr-&gt;isFuncExprNode());
-    FunctionBodyNode* body = static_cast&lt;FuncExprNode*&gt;(funcExpr)-&gt;body();
-    RELEASE_ASSERT(!program-&gt;hasCapturedVariables());
-    
-    body-&gt;setEndPosition(positionBeforeLastNewline);
-    RELEASE_ASSERT(body);
-    RELEASE_ASSERT(body-&gt;ident().isNull());
-    
-    // This function assumes an input string that would result in a single anonymous function expression.
-    body-&gt;setEndPosition(positionBeforeLastNewline);
-    RELEASE_ASSERT(body);
-    for (const auto&amp; closedVariable : program-&gt;closedVariables()) {
-        if (closedVariable == m_vm.propertyNames-&gt;arguments.impl())
-        continue;
-        
-        if (closedVariable == m_vm.propertyNames-&gt;undefinedKeyword.impl())
-            continue;
-        RELEASE_ASSERT(closedVariable-&gt;isEmptyUnique());
-    }
-    UnlinkedFunctionExecutable* functionExecutable = UnlinkedFunctionExecutable::create(&amp;m_vm, source, body, true, UnlinkedBuiltinFunction);
-    functionExecutable-&gt;m_nameValue.set(m_vm, functionExecutable, jsString(&amp;m_vm, name.string()));
-    return functionExecutable;
-}
-
-#define DEFINE_BUILTIN_EXECUTABLES(name, functionName, length) \
-UnlinkedFunctionExecutable* BuiltinExecutables::name##Executable() \
-{\
-    if (!m_##name##Executable)\
-        m_##name##Executable = createBuiltinExecutable(m_##name##Source, m_vm.propertyNames-&gt;functionName);\
-    return m_##name##Executable.get();\
-}
-JSC_FOREACH_BUILTIN(DEFINE_BUILTIN_EXECUTABLES)
-#undef EXPOSE_BUILTIN_SOURCES
-
-}
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorebuiltinsBuiltinExecutablesh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/builtins/BuiltinExecutables.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 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 BuiltinExecutables_h
-#define BuiltinExecutables_h
-
-#include &quot;JSCBuiltins.h&quot;
-#include &quot;SourceCode.h&quot;
-#include &quot;Weak.h&quot;
-#include &lt;wtf/PassOwnPtr.h&gt;
-
-namespace JSC {
-
-class UnlinkedFunctionExecutable;
-class Identifier;
-class VM;
-
-class BuiltinExecutables {
-public:
-    static PassOwnPtr&lt;BuiltinExecutables&gt; create(VM&amp; vm)
-    {
-        return adoptPtr(new BuiltinExecutables(vm));
-    }
-    
-#define EXPOSE_BUILTIN_EXECUTABLES(name, functionName, length) \
-UnlinkedFunctionExecutable* name##Executable(); \
-const SourceCode&amp; name##Source() { return m_##name##Source; }
-    
-    JSC_FOREACH_BUILTIN(EXPOSE_BUILTIN_EXECUTABLES)
-#undef EXPOSE_BUILTIN_SOURCES
-    
-private:
-    BuiltinExecutables(VM&amp;);
-    VM&amp; m_vm;
-    UnlinkedFunctionExecutable* createBuiltinExecutable(const SourceCode&amp;, const Identifier&amp;);
-#define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, length)\
-    SourceCode m_##name##Source; \
-    Weak&lt;UnlinkedFunctionExecutable&gt; m_##name##Executable;
-    JSC_FOREACH_BUILTIN(DECLARE_BUILTIN_SOURCE_MEMBERS)
-#undef DECLARE_BUILTIN_SOURCE_MEMBERS
-};
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeCodeBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -43,13 +43,11 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JITStubs.h&quot;
</span><span class="cx"> #include &quot;JSActivation.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><ins>+#include &quot;JSCJSValue.h&quot;
</ins><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><span class="cx"> #include &quot;LLIntEntrypoint.h&quot;
</span><span class="cx"> #include &quot;LowLevelInterpreter.h&quot;
</span><del>-#include &quot;NativeErrorConstructor.h&quot;
-#include &quot;ObjectConstructor.h&quot;
</del><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;PolymorphicPutByIdList.h&quot;
</span><span class="cx"> #include &quot;ReduceWhitespace.h&quot;
</span><span class="lines">@@ -1579,7 +1577,7 @@
</span><span class="cx"> 
</span><span class="cx">     setConstantRegisters(unlinkedCodeBlock-&gt;constantRegisters());
</span><span class="cx">     if (unlinkedCodeBlock-&gt;usesGlobalObject())
</span><del>-        m_constantRegisters[unlinkedCodeBlock-&gt;globalObjectRegister().toConstantIndex()].set(*m_vm, ownerExecutable, m_globalObject.get());
</del><ins>+        m_constantRegisters[unlinkedCodeBlock-&gt;globalObjectRegister().offset()].set(*m_vm, ownerExecutable, m_globalObject.get());
</ins><span class="cx">     m_functionDecls.resizeToFit(unlinkedCodeBlock-&gt;numberOfFunctionDecls());
</span><span class="cx">     for (size_t count = unlinkedCodeBlock-&gt;numberOfFunctionDecls(), i = 0; i &lt; count; ++i) {
</span><span class="cx">         UnlinkedFunctionExecutable* unlinkedExecutable = unlinkedCodeBlock-&gt;functionDecl(i);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeCodeBlockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/CodeBlock.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/CodeBlock.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecode/CodeBlock.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -56,6 +56,7 @@
</span><span class="cx"> #include &quot;HandlerInfo.h&quot;
</span><span class="cx"> #include &quot;ObjectAllocationProfile.h&quot;
</span><span class="cx"> #include &quot;Options.h&quot;
</span><ins>+#include &quot;Operations.h&quot;
</ins><span class="cx"> #include &quot;PutPropertySlot.h&quot;
</span><span class="cx"> #include &quot;Instruction.h&quot;
</span><span class="cx"> #include &quot;JITCode.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeProfiledCodeBlockJettisoningWatchpointcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><span class="cx"> #include &quot;DFGCommon.h&quot;
</span><span class="cx"> #include &quot;DFGExitProfile.h&quot;
</span><del>-#include &quot;JSCellInlines.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeUnlinkedCodeBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -49,9 +49,9 @@
</span><span class="cx"> const ClassInfo UnlinkedEvalCodeBlock::s_info = { &quot;UnlinkedEvalCodeBlock&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(UnlinkedEvalCodeBlock) };
</span><span class="cx"> const ClassInfo UnlinkedFunctionCodeBlock::s_info = { &quot;UnlinkedFunctionCodeBlock&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(UnlinkedFunctionCodeBlock) };
</span><span class="cx"> 
</span><del>-static UnlinkedFunctionCodeBlock* generateFunctionCodeBlock(VM&amp; vm, UnlinkedFunctionExecutable* executable, const SourceCode&amp; source, CodeSpecializationKind kind, DebuggerMode debuggerMode, ProfilerMode profilerMode, UnlinkedFunctionKind functionKind, ParserError&amp; error)
</del><ins>+static UnlinkedFunctionCodeBlock* generateFunctionCodeBlock(VM&amp; vm, UnlinkedFunctionExecutable* executable, const SourceCode&amp; source, CodeSpecializationKind kind, DebuggerMode debuggerMode, ProfilerMode profilerMode, ParserError&amp; error)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FunctionBodyNode&gt; body = parse&lt;FunctionBodyNode&gt;(&amp;vm, source, executable-&gt;parameters(), executable-&gt;name(), executable-&gt;toStrictness(), JSParseFunctionCode, error);
</del><ins>+    RefPtr&lt;FunctionBodyNode&gt; body = parse&lt;FunctionBodyNode&gt;(&amp;vm, source, executable-&gt;parameters(), executable-&gt;name(), executable-&gt;isInStrictContext() ? JSParseStrict : JSParseNormal, JSParseFunctionCode, error);
</ins><span class="cx"> 
</span><span class="cx">     if (!body) {
</span><span class="cx">         ASSERT(error.m_type != ParserError::ErrorNone);
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     body-&gt;finishParsing(executable-&gt;parameters(), executable-&gt;name(), executable-&gt;functionNameIsInScopeToggle());
</span><span class="cx">     executable-&gt;recordParse(body-&gt;features(), body-&gt;hasCapturedVariables());
</span><span class="cx">     
</span><del>-    UnlinkedFunctionCodeBlock* result = UnlinkedFunctionCodeBlock::create(&amp;vm, FunctionCode, ExecutableInfo(body-&gt;needsActivation(), body-&gt;usesEval(), body-&gt;isStrictMode(), kind == CodeForConstruct, functionKind == UnlinkedBuiltinFunction));
</del><ins>+    UnlinkedFunctionCodeBlock* result = UnlinkedFunctionCodeBlock::create(&amp;vm, FunctionCode, ExecutableInfo(body-&gt;needsActivation(), body-&gt;usesEval(), body-&gt;isStrictMode(), kind == CodeForConstruct));
</ins><span class="cx">     OwnPtr&lt;BytecodeGenerator&gt; generator(adoptPtr(new BytecodeGenerator(vm, body.get(), result, debuggerMode, profilerMode)));
</span><span class="cx">     error = generator-&gt;generate();
</span><span class="cx">     body-&gt;destroyData();
</span><span class="lines">@@ -82,14 +82,13 @@
</span><span class="cx">     return addConstant(v);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-UnlinkedFunctionExecutable::UnlinkedFunctionExecutable(VM* vm, Structure* structure, const SourceCode&amp; source, FunctionBodyNode* node, bool isFromGlobalCode, UnlinkedFunctionKind kind)
</del><ins>+UnlinkedFunctionExecutable::UnlinkedFunctionExecutable(VM* vm, Structure* structure, const SourceCode&amp; source, FunctionBodyNode* node, bool isFromGlobalCode)
</ins><span class="cx">     : Base(*vm, structure)
</span><span class="cx">     , m_numCapturedVariables(node-&gt;capturedVariableCount())
</span><span class="cx">     , m_forceUsesArguments(node-&gt;usesArguments())
</span><span class="cx">     , m_isInStrictContext(node-&gt;isStrictMode())
</span><span class="cx">     , m_hasCapturedVariables(node-&gt;hasCapturedVariables())
</span><span class="cx">     , m_isFromGlobalCode(isFromGlobalCode)
</span><del>-    , m_isBuiltinFunction(kind == UnlinkedBuiltinFunction)
</del><span class="cx">     , m_name(node-&gt;ident())
</span><span class="cx">     , m_inferredName(node-&gt;inferredName())
</span><span class="cx">     , m_parameters(node-&gt;parameters())
</span><span class="lines">@@ -167,7 +166,7 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    UnlinkedFunctionCodeBlock* result = generateFunctionCodeBlock(vm, this, source, specializationKind, debuggerMode, profilerMode, isBuiltinFunction() ? UnlinkedBuiltinFunction : UnlinkedNormalFunction, error);
</del><ins>+    UnlinkedFunctionCodeBlock* result = generateFunctionCodeBlock(vm, this, source, specializationKind, debuggerMode, profilerMode, error);
</ins><span class="cx">     
</span><span class="cx">     if (error.m_type != ParserError::ErrorNone)
</span><span class="cx">         return 0;
</span><span class="lines">@@ -211,7 +210,6 @@
</span><span class="cx">     , m_isStrictMode(info.m_isStrictMode)
</span><span class="cx">     , m_isConstructor(info.m_isConstructor)
</span><span class="cx">     , m_hasCapturedVariables(false)
</span><del>-    , m_isBuiltinFunction(info.m_isBuiltinFunction)
</del><span class="cx">     , m_firstLine(0)
</span><span class="cx">     , m_lineCount(0)
</span><span class="cx">     , m_endColumn(UINT_MAX)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeUnlinkedCodeBlockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -66,35 +66,26 @@
</span><span class="cx"> typedef unsigned UnlinkedLLIntCallLinkInfo;
</span><span class="cx"> 
</span><span class="cx"> struct ExecutableInfo {
</span><del>-    ExecutableInfo(bool needsActivation, bool usesEval, bool isStrictMode, bool isConstructor, bool isBuiltinFunction)
</del><ins>+    ExecutableInfo(bool needsActivation, bool usesEval, bool isStrictMode, bool isConstructor)
</ins><span class="cx">         : m_needsActivation(needsActivation)
</span><span class="cx">         , m_usesEval(usesEval)
</span><span class="cx">         , m_isStrictMode(isStrictMode)
</span><span class="cx">         , m_isConstructor(isConstructor)
</span><del>-        , m_isBuiltinFunction(isBuiltinFunction)
</del><span class="cx">     {
</span><span class="cx">     }
</span><del>-    bool m_needsActivation : 1;
-    bool m_usesEval : 1;
-    bool m_isStrictMode : 1;
-    bool m_isConstructor : 1;
-    bool m_isBuiltinFunction : 1;
</del><ins>+    bool m_needsActivation;
+    bool m_usesEval;
+    bool m_isStrictMode;
+    bool m_isConstructor;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-enum UnlinkedFunctionKind {
-    UnlinkedNormalFunction,
-    UnlinkedBuiltinFunction,
-};
-
</del><span class="cx"> class UnlinkedFunctionExecutable : public JSCell {
</span><span class="cx"> public:
</span><del>-    friend class BuiltinExecutables;
</del><span class="cx">     friend class CodeCache;
</span><del>-    friend class VM;
</del><span class="cx">     typedef JSCell Base;
</span><del>-    static UnlinkedFunctionExecutable* create(VM* vm, const SourceCode&amp; source, FunctionBodyNode* node, bool isFromGlobalCode, UnlinkedFunctionKind unlinkedFunctionKind)
</del><ins>+    static UnlinkedFunctionExecutable* create(VM* vm, const SourceCode&amp; source, FunctionBodyNode* node, bool isFromGlobalCode = false)
</ins><span class="cx">     {
</span><del>-        UnlinkedFunctionExecutable* instance = new (NotNull, allocateCell&lt;UnlinkedFunctionExecutable&gt;(vm-&gt;heap)) UnlinkedFunctionExecutable(vm, vm-&gt;unlinkedFunctionExecutableStructure.get(), source, node, isFromGlobalCode, unlinkedFunctionKind);
</del><ins>+        UnlinkedFunctionExecutable* instance = new (NotNull, allocateCell&lt;UnlinkedFunctionExecutable&gt;(vm-&gt;heap)) UnlinkedFunctionExecutable(vm, vm-&gt;unlinkedFunctionExecutableStructure.get(), source, node, isFromGlobalCode);
</ins><span class="cx">         instance-&gt;finishCreation(*vm);
</span><span class="cx">         return instance;
</span><span class="cx">     }
</span><span class="lines">@@ -108,14 +99,6 @@
</span><span class="cx">     }
</span><span class="cx">     size_t parameterCount() const;
</span><span class="cx">     bool isInStrictContext() const { return m_isInStrictContext; }
</span><del>-    JSParserStrictness toStrictness() const
-    {
-        if (m_isBuiltinFunction)
-            return JSParseBuiltin;
-        if (m_isInStrictContext)
-            return JSParseStrict;
-        return JSParseNormal;
-    }
</del><span class="cx">     FunctionNameIsInScopeToggle functionNameIsInScopeToggle() const { return m_functionNameIsInScopeToggle; }
</span><span class="cx"> 
</span><span class="cx">     unsigned firstLineOffset() const { return m_firstLineOffset; }
</span><span class="lines">@@ -159,10 +142,8 @@
</span><span class="cx">     static const bool hasImmortalStructure = true;
</span><span class="cx">     static void destroy(JSCell*);
</span><span class="cx"> 
</span><del>-    bool isBuiltinFunction() const { return m_isBuiltinFunction; }
-
</del><span class="cx"> private:
</span><del>-    UnlinkedFunctionExecutable(VM*, Structure*, const SourceCode&amp;, FunctionBodyNode*, bool isFromGlobalCode, UnlinkedFunctionKind);
</del><ins>+    UnlinkedFunctionExecutable(VM*, Structure*, const SourceCode&amp;, FunctionBodyNode*, bool isFromGlobalCode);
</ins><span class="cx">     WriteBarrier&lt;UnlinkedFunctionCodeBlock&gt; m_codeBlockForCall;
</span><span class="cx">     WriteBarrier&lt;UnlinkedFunctionCodeBlock&gt; m_codeBlockForConstruct;
</span><span class="cx"> 
</span><span class="lines">@@ -171,7 +152,6 @@
</span><span class="cx">     bool m_isInStrictContext : 1;
</span><span class="cx">     bool m_hasCapturedVariables : 1;
</span><span class="cx">     bool m_isFromGlobalCode : 1;
</span><del>-    bool m_isBuiltinFunction : 1;
</del><span class="cx"> 
</span><span class="cx">     Identifier m_name;
</span><span class="cx">     Identifier m_inferredName;
</span><span class="lines">@@ -338,8 +318,6 @@
</span><span class="cx">     void setIsNumericCompareFunction(bool isNumericCompareFunction) { m_isNumericCompareFunction = isNumericCompareFunction; }
</span><span class="cx">     bool isNumericCompareFunction() const { return m_isNumericCompareFunction; }
</span><span class="cx"> 
</span><del>-    bool isBuiltinFunction() const { return m_isBuiltinFunction; }
-    
</del><span class="cx">     void shrinkToFit()
</span><span class="cx">     {
</span><span class="cx">         m_jumpTargets.shrinkToFit();
</span><span class="lines">@@ -521,7 +499,6 @@
</span><span class="cx">     bool m_isStrictMode : 1;
</span><span class="cx">     bool m_isConstructor : 1;
</span><span class="cx">     bool m_hasCapturedVariables : 1;
</span><del>-    bool m_isBuiltinFunction : 1;
</del><span class="cx">     unsigned m_firstLine;
</span><span class="cx">     unsigned m_lineCount;
</span><span class="cx">     unsigned m_endColumn;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -175,7 +175,6 @@
</span><span class="cx"> #endif
</span><span class="cx">     , m_usesExceptions(false)
</span><span class="cx">     , m_expressionTooDeep(false)
</span><del>-    , m_isBuiltinFunction(false)
</del><span class="cx"> {
</span><span class="cx">     m_codeBlock-&gt;setNumParameters(1); // Allocate space for &quot;this&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -219,12 +218,16 @@
</span><span class="cx"> #endif
</span><span class="cx">     , m_usesExceptions(false)
</span><span class="cx">     , m_expressionTooDeep(false)
</span><del>-    , m_isBuiltinFunction(codeBlock-&gt;isBuiltinFunction())
</del><span class="cx"> {
</span><ins>+&lt;&lt;&lt;&lt;&lt;&lt;&lt; Updated upstream
</ins><span class="cx">     if (m_isBuiltinFunction) {
</span><span class="cx">         m_shouldEmitProfileHooks = false;
</span><span class="cx">         m_shouldEmitDebugHooks = false;
</span><span class="cx">     }
</span><ins>+=======
+    if (m_shouldEmitDebugHooks)
+        m_codeBlock-&gt;setNeedsFullScopeChain(true);
+&gt;&gt;&gt;&gt;&gt;&gt;&gt; Stashed changes
</ins><span class="cx"> 
</span><span class="cx">     m_symbolTable-&gt;setUsesNonStrictEval(codeBlock-&gt;usesEval() &amp;&amp; !codeBlock-&gt;isStrictMode());
</span><span class="cx">     Vector&lt;Identifier&gt; boundParameterProperties;
</span><span class="lines">@@ -427,7 +430,6 @@
</span><span class="cx"> #endif
</span><span class="cx">     , m_usesExceptions(false)
</span><span class="cx">     , m_expressionTooDeep(false)
</span><del>-    , m_isBuiltinFunction(false)
</del><span class="cx"> {
</span><span class="cx">     m_symbolTable-&gt;setUsesNonStrictEval(codeBlock-&gt;usesEval() &amp;&amp; !codeBlock-&gt;isStrictMode());
</span><span class="cx">     m_codeBlock-&gt;setNumParameters(1);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -462,9 +462,7 @@
</span><span class="cx">         bool shouldEmitDebugHooks() { return m_shouldEmitDebugHooks; }
</span><span class="cx">         
</span><span class="cx">         bool isStrictMode() const { return m_codeBlock-&gt;isStrictMode(); }
</span><del>-        
-        bool isBuiltinFunction() const { return m_isBuiltinFunction; }
-        
</del><ins>+
</ins><span class="cx">     private:
</span><span class="cx">         friend class Label;
</span><span class="cx">         
</span><span class="lines">@@ -546,7 +544,7 @@
</span><span class="cx">         
</span><span class="cx">         UnlinkedFunctionExecutable* makeFunction(FunctionBodyNode* body)
</span><span class="cx">         {
</span><del>-            return UnlinkedFunctionExecutable::create(m_vm, m_scopeNode-&gt;source(), body, false, isBuiltinFunction() ? UnlinkedBuiltinFunction : UnlinkedNormalFunction);
</del><ins>+            return UnlinkedFunctionExecutable::create(m_vm, m_scopeNode-&gt;source(), body);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         RegisterID* emitInitLazyRegister(RegisterID*);
</span><span class="lines">@@ -679,7 +677,6 @@
</span><span class="cx"> 
</span><span class="cx">         bool m_usesExceptions;
</span><span class="cx">         bool m_expressionTooDeep;
</span><del>-        bool m_isBuiltinFunction;
</del><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerNodesCodegencpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -26,10 +26,10 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;Nodes.h&quot;
</span><ins>+#include &quot;NodeConstructors.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;BytecodeGenerator.h&quot;
</span><span class="cx"> #include &quot;CallFrame.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;Debugger.h&quot;
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> #include &quot;JSONObject.h&quot;
</span><span class="cx"> #include &quot;LabelScope.h&quot;
</span><span class="cx"> #include &quot;Lexer.h&quot;
</span><del>-#include &quot;NodeConstructors.h&quot;
</del><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;Parser.h&quot;
</span><span class="cx"> #include &quot;PropertyNameArray.h&quot;
</span><span class="lines">@@ -536,39 +535,36 @@
</span><span class="cx">     RefPtr&lt;Label&gt; end = generator.newLabel();
</span><span class="cx">     RefPtr&lt;RegisterID&gt; base = generator.emitNode(m_base);
</span><span class="cx">     generator.emitExpressionInfo(subexpressionDivot(), subexpressionStart(), subexpressionEnd());
</span><del>-    RefPtr&lt;RegisterID&gt; function = generator.emitGetById(generator.tempDestination(dst), base.get(), generator.propertyNames().call);
</del><ins>+    RefPtr&lt;RegisterID&gt; function = generator.emitGetById(generator.tempDestination(dst), base.get(), m_ident);
</ins><span class="cx">     RefPtr&lt;RegisterID&gt; returnValue = generator.finalDestination(dst, function.get());
</span><del>-    bool emitCallCheck = !generator.isBuiltinFunction();
-    if (emitCallCheck)
-        generator.emitJumpIfNotFunctionCall(function.get(), realCall.get());
-
</del><ins>+    generator.emitJumpIfNotFunctionCall(function.get(), realCall.get());
</ins><span class="cx">     {
</span><span class="cx">         if (m_args-&gt;m_listNode &amp;&amp; m_args-&gt;m_listNode-&gt;m_expr) {
</span><span class="cx">             ArgumentListNode* oldList = m_args-&gt;m_listNode;
</span><span class="cx">             m_args-&gt;m_listNode = m_args-&gt;m_listNode-&gt;m_next;
</span><del>-            
</del><ins>+
</ins><span class="cx">             RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
</span><span class="cx">             CallArguments callArguments(generator, m_args);
</span><span class="cx">             generator.emitNode(callArguments.thisRegister(), oldList-&gt;m_expr);
</span><span class="cx">             generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
</span><ins>+            generator.emitJump(end.get());
+
</ins><span class="cx">             m_args-&gt;m_listNode = oldList;
</span><span class="cx">         } else {
</span><span class="cx">             RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
</span><span class="cx">             CallArguments callArguments(generator, m_args);
</span><span class="cx">             generator.emitLoad(callArguments.thisRegister(), jsUndefined());
</span><span class="cx">             generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
</span><ins>+            generator.emitJump(end.get());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><del>-    if (emitCallCheck) {
-        generator.emitJump(end.get());
-        generator.emitLabel(realCall.get());
-        {
-            CallArguments callArguments(generator, m_args);
-            generator.emitMove(callArguments.thisRegister(), base.get());
-            generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
-        }
-        generator.emitLabel(end.get());
</del><ins>+    generator.emitLabel(realCall.get());
+    {
+        CallArguments callArguments(generator, m_args);
+        generator.emitMove(callArguments.thisRegister(), base.get());
+        generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
</ins><span class="cx">     }
</span><ins>+    generator.emitLabel(end.get());
</ins><span class="cx">     return returnValue.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -589,67 +585,65 @@
</span><span class="cx">     RefPtr&lt;Label&gt; end = generator.newLabel();
</span><span class="cx">     RefPtr&lt;RegisterID&gt; base = generator.emitNode(m_base);
</span><span class="cx">     generator.emitExpressionInfo(subexpressionDivot(), subexpressionStart(), subexpressionEnd());
</span><del>-    RefPtr&lt;RegisterID&gt; function;
</del><ins>+    RefPtr&lt;RegisterID&gt; function = generator.emitGetById(generator.tempDestination(dst), base.get(), m_ident);
</ins><span class="cx">     RefPtr&lt;RegisterID&gt; returnValue = generator.finalDestination(dst, function.get());
</span><del>-    bool emitCallCheck = !generator.isBuiltinFunction();
-    if (emitCallCheck) {
-        function = generator.emitGetById(generator.tempDestination(dst), base.get(), generator.propertyNames().apply);
-        generator.emitJumpIfNotFunctionApply(function.get(), realCall.get());
-    }
-    if (mayBeCall) {
-        if (m_args-&gt;m_listNode &amp;&amp; m_args-&gt;m_listNode-&gt;m_expr) {
-            ArgumentListNode* oldList = m_args-&gt;m_listNode;
-            if (m_args-&gt;m_listNode-&gt;m_next) {
-                ASSERT(m_args-&gt;m_listNode-&gt;m_next-&gt;m_expr-&gt;isSimpleArray());
-                ASSERT(!m_args-&gt;m_listNode-&gt;m_next-&gt;m_next);
-                m_args-&gt;m_listNode = static_cast&lt;ArrayNode*&gt;(m_args-&gt;m_listNode-&gt;m_next-&gt;m_expr)-&gt;toArgumentList(generator.vm(), 0, 0);
-                RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
-                CallArguments callArguments(generator, m_args);
-                generator.emitNode(callArguments.thisRegister(), oldList-&gt;m_expr);
-                generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
</del><ins>+    generator.emitJumpIfNotFunctionApply(function.get(), realCall.get());
+    {
+        if (mayBeCall) {
+            if (m_args-&gt;m_listNode &amp;&amp; m_args-&gt;m_listNode-&gt;m_expr) {
+                ArgumentListNode* oldList = m_args-&gt;m_listNode;
+                if (m_args-&gt;m_listNode-&gt;m_next) {
+                    ASSERT(m_args-&gt;m_listNode-&gt;m_next-&gt;m_expr-&gt;isSimpleArray());
+                    ASSERT(!m_args-&gt;m_listNode-&gt;m_next-&gt;m_next);
+                    m_args-&gt;m_listNode = static_cast&lt;ArrayNode*&gt;(m_args-&gt;m_listNode-&gt;m_next-&gt;m_expr)-&gt;toArgumentList(generator.vm(), 0, 0);
+                    RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
+                    CallArguments callArguments(generator, m_args);
+                    generator.emitNode(callArguments.thisRegister(), oldList-&gt;m_expr);
+                    generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
+                } else {
+                    m_args-&gt;m_listNode = m_args-&gt;m_listNode-&gt;m_next;
+                    RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
+                    CallArguments callArguments(generator, m_args);
+                    generator.emitNode(callArguments.thisRegister(), oldList-&gt;m_expr);
+                    generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
+                }
+                m_args-&gt;m_listNode = oldList;
</ins><span class="cx">             } else {
</span><del>-                m_args-&gt;m_listNode = m_args-&gt;m_listNode-&gt;m_next;
</del><span class="cx">                 RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
</span><span class="cx">                 CallArguments callArguments(generator, m_args);
</span><del>-                generator.emitNode(callArguments.thisRegister(), oldList-&gt;m_expr);
</del><ins>+                generator.emitLoad(callArguments.thisRegister(), jsUndefined());
</ins><span class="cx">                 generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
</span><span class="cx">             }
</span><del>-            m_args-&gt;m_listNode = oldList;
</del><span class="cx">         } else {
</span><ins>+            ASSERT(m_args-&gt;m_listNode &amp;&amp; m_args-&gt;m_listNode-&gt;m_next);
+            RefPtr&lt;RegisterID&gt; profileHookRegister;
+            if (generator.shouldEmitProfileHooks())
+                profileHookRegister = generator.newTemporary();
</ins><span class="cx">             RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
</span><del>-            CallArguments callArguments(generator, m_args);
-            generator.emitLoad(callArguments.thisRegister(), jsUndefined());
-            generator.emitCall(returnValue.get(), realFunction.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
-        }
-    } else {
-        ASSERT(m_args-&gt;m_listNode &amp;&amp; m_args-&gt;m_listNode-&gt;m_next);
-        RefPtr&lt;RegisterID&gt; profileHookRegister;
-        if (generator.shouldEmitProfileHooks())
-            profileHookRegister = generator.newTemporary();
-        RefPtr&lt;RegisterID&gt; realFunction = generator.emitMove(generator.tempDestination(dst), base.get());
-        RefPtr&lt;RegisterID&gt; thisRegister = generator.emitNode(m_args-&gt;m_listNode-&gt;m_expr);
-        RefPtr&lt;RegisterID&gt; argsRegister;
-        ArgumentListNode* args = m_args-&gt;m_listNode-&gt;m_next;
-        if (args-&gt;m_expr-&gt;isResolveNode() &amp;&amp; generator.willResolveToArguments(static_cast&lt;ResolveNode*&gt;(args-&gt;m_expr)-&gt;identifier()))
-            argsRegister = generator.uncheckedRegisterForArguments();
-        else
-            argsRegister = generator.emitNode(args-&gt;m_expr);
</del><ins>+            RefPtr&lt;RegisterID&gt; thisRegister = generator.emitNode(m_args-&gt;m_listNode-&gt;m_expr);
+            RefPtr&lt;RegisterID&gt; argsRegister;
+            ArgumentListNode* args = m_args-&gt;m_listNode-&gt;m_next;
+            if (args-&gt;m_expr-&gt;isResolveNode() &amp;&amp; generator.willResolveToArguments(static_cast&lt;ResolveNode*&gt;(args-&gt;m_expr)-&gt;identifier()))
+                argsRegister = generator.uncheckedRegisterForArguments();
+            else
+                argsRegister = generator.emitNode(args-&gt;m_expr);
</ins><span class="cx"> 
</span><del>-        // Function.prototype.apply ignores extra arguments, but we still
-        // need to evaluate them for side effects.
-        while ((args = args-&gt;m_next))
-            generator.emitNode(args-&gt;m_expr);
</del><ins>+            // Function.prototype.apply ignores extra arguments, but we still
+            // need to evaluate them for side effects.
+            while ((args = args-&gt;m_next))
+                generator.emitNode(args-&gt;m_expr);
</ins><span class="cx"> 
</span><del>-        generator.emitCallVarargs(returnValue.get(), realFunction.get(), thisRegister.get(), argsRegister.get(), generator.newTemporary(), profileHookRegister.get(), divot(), divotStart(), divotEnd());
-    }
-    if (emitCallCheck) {
</del><ins>+            generator.emitCallVarargs(returnValue.get(), realFunction.get(), thisRegister.get(), argsRegister.get(), generator.newTemporary(), profileHookRegister.get(), divot(), divotStart(), divotEnd());
+        }
</ins><span class="cx">         generator.emitJump(end.get());
</span><del>-        generator.emitLabel(realCall.get());
</del><ins>+    }
+    generator.emitLabel(realCall.get());
+    {
</ins><span class="cx">         CallArguments callArguments(generator, m_args);
</span><span class="cx">         generator.emitMove(callArguments.thisRegister(), base.get());
</span><span class="cx">         generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
</span><del>-        generator.emitLabel(end.get());
</del><span class="cx">     }
</span><ins>+    generator.emitLabel(end.get());
</ins><span class="cx">     return returnValue.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorecreate_hash_table"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/create_hash_table (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/create_hash_table        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/create_hash_table        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -289,17 +289,7 @@
</span><span class="cx">             $intrinsic = &quot;RegExpTestIntrinsic&quot; if ($key eq &quot;test&quot;);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if ($values[$i]{&quot;type&quot;} eq &quot;Function&quot;)  {
-            my $tableHead = $name;
-            $tableHead =~ s/Table$//;
-            print &quot; #if JSC_BUILTIN_EXISTS(&quot; . uc($tableHead . $key) .&quot;)\n&quot;;
-            print &quot;   { \&quot;$key\&quot;, (($attrs[$i]) &amp; ~Function) | Builtin, $intrinsic, (intptr_t)static_cast&lt;BuiltinGenerator&gt;(&quot; . $tableHead . ucfirst($key) . &quot;CodeGenerator), (intptr_t)$secondValue },\n&quot;;
-            print &quot; #else\n&quot;
-        }
</del><span class="cx">         print &quot;   { \&quot;$key\&quot;, $attrs[$i], $intrinsic, (intptr_t)&quot; . $firstCastStr . &quot;($firstValue), (intptr_t)&quot; . $secondCastStr . &quot;($secondValue) },\n&quot;;
</span><del>-        if ($values[$i]{&quot;type&quot;} eq &quot;Function&quot;)  {
-            print &quot; #endif\n&quot;
-        }
</del><span class="cx">         $i++;
</span><span class="cx">     }
</span><span class="cx">     print &quot;   { 0, 0, NoIntrinsic, 0, 0 }\n&quot;;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGDominatorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGDominators.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGDominators.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/dfg/DFGDominators.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;DFGDominators.h&quot;
</span><del>-#include &quot;JSFunctionInlines.h&quot;
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGJITCodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGJITCode.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGJITCode.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/dfg/DFGJITCode.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace JSC { namespace DFG {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -48,7 +48,6 @@
</span><span class="cx"> #include &quot;JSActivation.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;NameInstance.h&quot;
</span><span class="cx"> #include &quot;ObjectConstructor.h&quot;
</span><span class="cx"> #include &quot;Operations.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoregeneratejsbuiltins"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/generate-js-builtins (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/generate-js-builtins        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/generate-js-builtins        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,304 +0,0 @@
</span><del>-#!/usr/bin/python
-# Copyright (C) 2014 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.
-
-import filecmp
-import fnmatch
-import os
-import re
-import shutil
-import sys
-import datetime
-import json
-
-copyrightText = &quot;&quot;&quot; *
- * 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. 
- */\n
-&quot;&quot;&quot;
-
-generatorString = &quot;/* Generated by %s do not hand edit. */\n&quot; % os.path.basename(__file__)
-
-functionHeadRegExp = re.compile(r&quot;function\s+\w+\s*\(.*?\)&quot;, re.MULTILINE | re.S)
-functionNameRegExp = re.compile(r&quot;function\s+(\w+)\s*\(&quot;, re.MULTILINE | re.S)
-functionParameterFinder = re.compile(r&quot;^function\s+(?:\w+)\s*\(((?:\s*\w+)?\s*(?:\s*,\s*\w+)*)?\)&quot;, re.MULTILINE | re.S)
-
-multilineCommentRegExp = re.compile(r&quot;\/\*.*?\*\/&quot;, re.MULTILINE | re.S)
-singleLineCommentRegExp = re.compile(r&quot;\/\/.*?\n&quot;, re.MULTILINE | re.S)
-
-def getCopyright(source):
-    copyrightBlock = multilineCommentRegExp.findall(source)[0]
-    copyrightBlock = copyrightBlock[:copyrightBlock.index(&quot;Redistribution&quot;)]
-    copyRightLines = []
-
-    for line in copyrightBlock.split(&quot;\n&quot;):
-        line = line.replace(&quot;/*&quot;, &quot;&quot;)
-        line = line.replace(&quot;*/&quot;, &quot;&quot;)
-        line = line.replace(&quot;*&quot;, &quot;&quot;)
-        line = line.replace(&quot;Copyright&quot;, &quot;&quot;)
-        line = line.replace(&quot;copyright&quot;, &quot;&quot;)
-        line = line.replace(&quot;(C)&quot;, &quot;&quot;)
-        line = line.replace(&quot;(c)&quot;, &quot;&quot;)
-        line = line.strip()
-        if len(line) == 0:
-            continue
-
-        copyRightLines.append(line)
-    
-    return list(set(copyRightLines))
-
-
-
-def getFunctions(source):
-
-    source = multilineCommentRegExp.sub(&quot;/**/&quot;, singleLineCommentRegExp.sub(&quot;//\n&quot;, source))
-
-    matches = [ f for f in functionHeadRegExp.finditer(source)]
-    functionBounds = []
-    start = 0
-    end = 0
-    for match in matches:
-        start = match.start()
-        if start &lt; end:
-            continue
-        end = match.end()
-        while source[end] != '{':
-            end = end + 1
-        depth = 1
-        end = end + 1
-        while depth &gt; 0:
-            if source[end] == '{':
-                depth = depth + 1
-            elif source[end] == '}':
-                depth = depth - 1
-            end = end + 1
-        functionBounds.append((start, end))
-
-    functions = [source[start:end].strip() for (start, end) in functionBounds]
-    result = []
-    for function in functions:
-        function = multilineCommentRegExp.sub(&quot;&quot;, function)
-        functionName = functionNameRegExp.findall(function)[0]
-        functionParameters = functionParameterFinder.findall(function)[0].split(',')
-        if len(functionParameters[0]) == 0:
-            functionParameters = []
-            
-        result.append((functionName, function, functionParameters))
-    return result
-        
-
-def generateCode(source):
-    inputFile = open(source, &quot;r&quot;)
-    baseName = os.path.basename(source).replace(&quot;.js&quot;, &quot;&quot;)
-    
-    source = &quot;&quot;
-    for line in inputFile:
-        source = source + line
-    
-    if sys.platform == &quot;cygwin&quot;:
-        source = source.replace(&quot;\r\n&quot;, &quot;\n&quot;)
-    return (baseName, getFunctions(source), getCopyright(source))
-
-def mangleName(object, name):
-    qName = object + &quot;.&quot; + name
-    mangledName = &quot;&quot;
-    i = 0
-    while i &lt; len(qName):
-        if qName[i] == '.':
-            mangledName = mangledName + qName[i + 1].upper()
-            i = i + 1
-        else:
-            mangledName = mangledName + qName[i]
-        i = i + 1
-    return mangledName
-
-builtins = []
-
-baseName = sys.argv[-1]
-builtin_definitions = sys.argv[1:-1]
-(output_base, _) = os.path.splitext(sys.argv[-1])
-
-copyrights = []
-for file in builtin_definitions:
-    if fnmatch.fnmatch(file, '*.js'):
-        (baseName, functions, objectCopyrights) = generateCode(file)
-        copyrights.extend(objectCopyrights)
-        builtins.append((baseName, functions))
-
-copyrights = list(set(copyrights))
-
-copyrightBody = &quot;&quot;
-for copyright in copyrights:
-    copyrightBody = copyrightBody +&quot; * Copyright (C) &quot; + copyright + &quot;\n&quot;
-
-builtinsHeader = open(output_base + &quot;.h.tmp&quot;, &quot;w&quot;)
-builtinsImplementation = open(output_base + &quot;.cpp.tmp&quot;, &quot;w&quot;)
-copyrightText = &quot;/*\n&quot; + copyrightBody + copyrightText
-builtinsHeader.write(&quot;&quot;&quot;%s
-%s
-
-#ifndef JSCBuiltins_H
-#define JSCBuiltins_H
-
-namespace JSC {
-
-class FunctionExecutable;
-class Identifier;
-class JSGlobalObject;
-class SourceCode;
-class UnlinkedFunctionExecutable;
-class VM;
-
-FunctionExecutable* createBuiltinExecutable(VM&amp;, UnlinkedFunctionExecutable*, const SourceCode&amp;);
-
-&quot;&quot;&quot; % (generatorString, copyrightText))
-
-codeReferences = []
-
-for (objectName, functions) in builtins:
-    print(&quot;Generating bindings for the %s builtin.&quot; % objectName)
-    builtinsHeader.write(&quot;/* %s functions */\n&quot; % objectName)
-    for (name, implementation, _) in functions:
-        mangledName = mangleName(objectName, name)
-        mangledName = mangledName[0].lower() + mangledName[1:] + &quot;Code&quot;
-        codeReferences.append((mangledName, name, implementation))
-        builtinsHeader.write(&quot;extern const char* s_%s;\n&quot; % mangledName)
-        builtinsHeader.write(&quot;extern const int s_%sLength;\n&quot; % mangledName)
-    builtinsHeader.write(&quot;\n&quot;)
-    builtinsHeader.write(&quot;#define JSC_FOREACH_%s_BUILTIN(macro) \\\n&quot; % objectName.replace(&quot;.&quot;, &quot;_&quot;).upper())
-    for (name, implementation, arguments) in functions:
-        mangledName = mangleName(objectName, name)
-        builtinsHeader.write(&quot;    macro(%s, %s, %d) \\\n&quot; % (name, mangledName, len(arguments)))
-    builtinsHeader.write(&quot;\n&quot;)
-    for (name, implementation, arguments) in functions:
-        builtinsHeader.write(&quot;#define JSC_BUILTIN_%s 1\n&quot; % mangleName(objectName, name).upper())
-    builtinsHeader.write(&quot;\n\n&quot;)
-names = []
-builtinsHeader.write(&quot;#define JSC_FOREACH_BUILTIN(macro)\\\n&quot;)
-for (codeReference, functionName, source) in codeReferences:
-    builtinsHeader.write(&quot;    macro(%s, %s, s_%sLength) \\\n&quot; % (codeReference, functionName, codeReference))
-    names.append(functionName)
-
-builtinsHeader.write(&quot;\n\n&quot;)
-builtinsHeader.write(&quot;#define JSC_FOREACH_BUILTIN_FUNCTION_NAME(macro) \\\n&quot;)
-for name in sorted(set(names)):
-    builtinsHeader.write(&quot;    macro(%s) \\\n&quot; % name)
-builtinsHeader.write(&quot;&quot;&quot;
-
-#define JSC_DECLARE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \\
-    FunctionExecutable* codeName##Generator(VM&amp;);
-
-JSC_FOREACH_BUILTIN(JSC_DECLARE_BUILTIN_GENERATOR)
-#undef JSC_DECLARE_BUILTIN_GENERATOR
-
-#define JSC_BUILTIN_EXISTS(name) defined JSC_BUILTIN_ ## name
-
-}
-
-#endif
-
-&quot;&quot;&quot;)
-
-builtinsImplementation.write(&quot;&quot;&quot;%s
-%s
-
-#include &quot;config.h&quot;
-
-#include &quot;JSCBuiltins.h&quot;
-
-#include &quot;BuiltinExecutables.h&quot;
-#include &quot;Executable.h&quot;
-#include &quot;JSCellInlines.h&quot;
-#include &quot;VM.h&quot;
-
-namespace JSC {
-
-&quot;&quot;&quot;  % (generatorString, copyrightText))
-
-for (codeReference, name, source) in codeReferences:
-    source = &quot;(function &quot; + source[source.index(&quot;(&quot;):] + &quot;)&quot;
-    lines = json.dumps(source)[1:-1].split(&quot;\\n&quot;)
-    sourceLength = len(source)
-    source = &quot;&quot;
-    for line in lines:
-        source = source + (&quot;    \&quot;%s\\n\&quot; \\\n&quot; % line)
-    builtinsImplementation.write(&quot;const char* s_%s =\n%s;\n\n&quot; % (codeReference, source))
-    builtinsImplementation.write(&quot;const int s_%sLength = %d;\n\n&quot; % (codeReference, sourceLength + 1)) # + 1 for \n
-
-builtinsImplementation.write(&quot;&quot;&quot;
-FunctionExecutable* createBuiltinExecutable(VM&amp; vm, UnlinkedFunctionExecutable* unlinkedExecutable, const SourceCode&amp; source)
-{
-    unsigned lineCount = unlinkedExecutable-&gt;lineCount();
-    unsigned startColumn = 1;
-    unsigned sourceLength = unlinkedExecutable-&gt;sourceLength();
-    bool endColumnIsOnStartLine = !lineCount;
-    unsigned endColumnExcludingBraces = unlinkedExecutable-&gt;unlinkedBodyEndColumn() + (endColumnIsOnStartLine ? 0 : 1);
-    unsigned startOffset = unlinkedExecutable-&gt;startOffset();
-    unsigned startOffsetExcludingOpenBrace = startOffset + 1;
-    unsigned endOffsetExcludingCloseBrace = startOffset + sourceLength - 1;
-    SourceCode bodySource(source.provider(), startOffsetExcludingOpenBrace, endOffsetExcludingCloseBrace, 0, startColumn);
-    return FunctionExecutable::create(vm, bodySource, unlinkedExecutable, 0, lineCount, startColumn, endColumnExcludingBraces, false);
-}
-
-#define JSC_DEFINE_BUILTIN_GENERATOR(codeName, functionName, argumentCount) \\
-FunctionExecutable* codeName##Generator(VM&amp; vm) \\
-{ \\
-    return createBuiltinExecutable(vm, vm.builtinExecutables()-&gt;codeName##Executable(), vm.builtinExecutables()-&gt;codeName##Source()); \\
-}
-
-JSC_FOREACH_BUILTIN(JSC_DEFINE_BUILTIN_GENERATOR)
-#undef JSC_DEFINE_BUILTIN_GENERATOR
-}
-
-&quot;&quot;&quot;)
-
-builtinsHeader.close()
-builtinsImplementation.close()
-
-if (not os.path.exists(output_base + &quot;.h&quot;)) or (not filecmp.cmp(output_base + &quot;.h.tmp&quot;, output_base + &quot;.h&quot;, shallow=False)):
-    os.rename(output_base + &quot;.h.tmp&quot;, output_base + &quot;.h&quot;)
-else:
-    os.remove(output_base + &quot;.h.tmp&quot;)
-
-if (not os.path.exists(output_base + &quot;.cpp&quot;)) or (not filecmp.cmp(output_base + &quot;.cpp.tmp&quot;, output_base + &quot;.cpp&quot;, shallow=False)):
-    os.rename(output_base + &quot;.cpp.tmp&quot;, output_base + &quot;.cpp&quot;)
-else:
-    os.remove(output_base + &quot;.cpp.tmp&quot;)
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreinterpreterCachedCallh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/interpreter/CachedCall.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/interpreter/CachedCall.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/interpreter/CachedCall.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">             , m_interpreter(callFrame-&gt;interpreter())
</span><span class="cx">             , m_entryScope(callFrame-&gt;vm(), function-&gt;scope()-&gt;globalObject())
</span><span class="cx">         {
</span><del>-            ASSERT(!function-&gt;isHostFunctionNonInline());
</del><ins>+            ASSERT(!function-&gt;isHostFunction());
</ins><span class="cx">             if (callFrame-&gt;vm().isSafeToRecurse()) {
</span><span class="cx">                 m_arguments.resize(argumentCount);
</span><span class="cx">                 m_closure = m_interpreter-&gt;prepareForRepeatCall(function-&gt;jsExecutable(), callFrame, &amp;m_protoCallFrame, function, argumentCount + 1, function-&gt;scope(), m_arguments.data());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinterpreterInterpretercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -50,7 +50,6 @@
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="cx"> #include &quot;JSStackInlines.h&quot;
</span><span class="cx"> #include &quot;JSString.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;JSWithScope.h&quot;
</span><span class="cx"> #include &quot;LLIntCLoop.h&quot;
</span><span class="cx"> #include &quot;LLIntThunks.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinterpreterProtoCallFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/interpreter/ProtoCallFrame.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/interpreter/ProtoCallFrame.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/interpreter/ProtoCallFrame.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;ProtoCallFrame.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;StackAlignment.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOpcodescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;Heap.h&quot;
</span><span class="cx"> #include &quot;JITInlines.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSCell.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOpcodes32_64cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;Debugger.h&quot;
</span><span class="cx"> #include &quot;JITInlines.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSCell.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOperations.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -41,13 +41,10 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JITOperationWrappers.h&quot;
</span><span class="cx"> #include &quot;JITToDFGDeferredCompilationCallback.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
-#include &quot;JSFunctionInlines.h&quot;
</del><span class="cx"> #include &quot;JSGlobalObjectFunctions.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="cx"> #include &quot;JSStackInlines.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;JSWithScope.h&quot;
</span><span class="cx"> #include &quot;ObjectConstructor.h&quot;
</span><span class="cx"> #include &quot;Operations.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITPropertyAccesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -29,13 +29,11 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;GCAwareJITStubRoutine.h&quot;
</span><span class="cx"> #include &quot;GetterSetter.h&quot;
</span><span class="cx"> #include &quot;Interpreter.h&quot;
</span><span class="cx"> #include &quot;JITInlines.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="cx"> #include &quot;JSVariableObject.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITPropertyAccess32_64cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -30,12 +30,10 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;GCAwareJITStubRoutine.h&quot;
</span><span class="cx"> #include &quot;Interpreter.h&quot;
</span><span class="cx"> #include &quot;JITInlines.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="cx"> #include &quot;JSVariableObject.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejsccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jsc.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jsc.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/jsc.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> #include &quot;JSLock.h&quot;
</span><span class="cx"> #include &quot;JSProxy.h&quot;
</span><span class="cx"> #include &quot;JSString.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;SamplingTool.h&quot;
</span><span class="cx"> #include &quot;StackVisitor.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntOffsetsExtractorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> #include &quot;JITStubs.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><span class="cx"> #include &quot;JSCell.h&quot;
</span><del>-#include &quot;JSFunctionInlines.h&quot;
</del><ins>+#include &quot;JSFunction.h&quot;
</ins><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="cx"> #include &quot;JSStackInlines.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><ins>+#include &quot;JSString.h&quot;
</ins><span class="cx"> #include &quot;JSWithScope.h&quot;
</span><span class="cx"> #include &quot;LLIntCommon.h&quot;
</span><span class="cx"> #include &quot;LLIntExceptions.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserASTBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/ASTBuilder.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/ASTBuilder.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/ASTBuilder.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -888,9 +888,9 @@
</span><span class="cx">     ASSERT(func-&gt;isDotAccessorNode());
</span><span class="cx">     DotAccessorNode* dot = static_cast&lt;DotAccessorNode*&gt;(func);
</span><span class="cx">     FunctionCallDotNode* node;
</span><del>-    if (dot-&gt;identifier() == m_vm-&gt;propertyNames-&gt;call || dot-&gt;identifier() == m_vm-&gt;propertyNames-&gt;callPrivateName)
</del><ins>+    if (dot-&gt;identifier() == m_vm-&gt;propertyNames-&gt;call)
</ins><span class="cx">         node = new (m_vm) CallFunctionCallDotNode(location, dot-&gt;base(), dot-&gt;identifier(), args, divot, divotStart, divotEnd);
</span><del>-    else if (dot-&gt;identifier() == m_vm-&gt;propertyNames-&gt;apply || dot-&gt;identifier() == m_vm-&gt;propertyNames-&gt;applyPrivateName)
</del><ins>+    else if (dot-&gt;identifier() == m_vm-&gt;propertyNames-&gt;apply)
</ins><span class="cx">         node = new (m_vm) ApplyFunctionCallDotNode(location, dot-&gt;base(), dot-&gt;identifier(), args, divot, divotStart, divotEnd);
</span><span class="cx">     else
</span><span class="cx">         node = new (m_vm) FunctionCallDotNode(location, dot-&gt;base(), dot-&gt;identifier(), args, divot, divotStart, divotEnd);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserLexercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Lexer.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Lexer.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/Lexer.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -25,10 +25,10 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;Lexer.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;CommonIdentifiers.h&quot;
-#include &quot;Identifier.h&quot;
</del><span class="cx"> #include &quot;JSFunctionInlines.h&quot;
</span><ins>+
</ins><span class="cx"> #include &quot;JSGlobalObjectFunctions.h&quot;
</span><ins>+#include &quot;Identifier.h&quot;
</ins><span class="cx"> #include &quot;NodeInfo.h&quot;
</span><span class="cx"> #include &quot;Nodes.h&quot;
</span><span class="cx"> #include &lt;wtf/dtoa.h&gt;
</span><span class="lines">@@ -90,7 +90,6 @@
</span><span class="cx"> 
</span><span class="cx">     // Other types (only one so far)
</span><span class="cx">     CharacterWhiteSpace,
</span><del>-    CharacterPrivateIdentifierStart
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // 256 Latin-1 codes
</span><span class="lines">@@ -159,7 +158,7 @@
</span><span class="cx"> /*  61 - =                  */ CharacterEqual,
</span><span class="cx"> /*  62 - &gt;                  */ CharacterGreater,
</span><span class="cx"> /*  63 - ?                  */ CharacterQuestion,
</span><del>-/*  64 - @                  */ CharacterPrivateIdentifierStart,
</del><ins>+/*  64 - @                  */ CharacterInvalid,
</ins><span class="cx"> /*  65 - A                  */ CharacterIdentifierStart,
</span><span class="cx"> /*  66 - B                  */ CharacterIdentifierStart,
</span><span class="cx"> /*  67 - C                  */ CharacterIdentifierStart,
</span><span class="lines">@@ -487,10 +486,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template &lt;typename T&gt;
</span><del>-Lexer&lt;T&gt;::Lexer(VM* vm, JSParserStrictness strictness)
</del><ins>+Lexer&lt;T&gt;::Lexer(VM* vm)
</ins><span class="cx">     : m_isReparsing(false)
</span><span class="cx">     , m_vm(vm)
</span><del>-    , m_parsingBuiltinFunction(strictness == JSParseBuiltin)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -755,27 +753,7 @@
</span><span class="cx">     ASSERT(c &lt;= static_cast&lt;int&gt;(USHRT_MAX));
</span><span class="cx">     m_buffer16.append(static_cast&lt;UChar&gt;(c));
</span><span class="cx"> }
</span><del>-    
-#if !ASSERT_DISABLED
-bool isSafeIdentifier(VM&amp; vm, const Identifier* ident)
-{
-    if (!ident)
-        return true;
-    /* Just block any use of suspicious identifiers.  This is intended to
-     * be used as a safety net while implementing builtins.
-     */
-    if (*ident == vm.propertyNames-&gt;call)
-        return false;
-    if (*ident == vm.propertyNames-&gt;apply)
-        return false;
-    if (*ident == vm.propertyNames-&gt;eval)
-        return false;
-    if (*ident == vm.propertyNames-&gt;Function)
-        return false;
-    return true;
-}
-#endif
-    
</del><ins>+
</ins><span class="cx"> template &lt;&gt;
</span><span class="cx"> template &lt;bool shouldCreateIdentifier&gt; ALWAYS_INLINE JSTokenType Lexer&lt;LChar&gt;::parseIdentifier(JSTokenData* tokenData, unsigned lexerFlags, bool strictMode)
</span><span class="cx"> {
</span><span class="lines">@@ -787,11 +765,7 @@
</span><span class="cx">             return keyword == RESERVED_IF_STRICT &amp;&amp; !strictMode ? IDENT : keyword;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    
-    bool isPrivateName = m_current == '@' &amp;&amp; m_parsingBuiltinFunction;
-    if (isPrivateName)
-        shift();
-    
</del><ins>+
</ins><span class="cx">     const LChar* identifierStart = currentSourcePtr();
</span><span class="cx">     unsigned identifierLineStart = currentLineStartOffset();
</span><span class="cx">     
</span><span class="lines">@@ -805,26 +779,15 @@
</span><span class="cx"> 
</span><span class="cx">     const Identifier* ident = 0;
</span><span class="cx">     
</span><del>-    if (shouldCreateIdentifier || m_parsingBuiltinFunction) {
</del><ins>+    if (shouldCreateIdentifier) {
</ins><span class="cx">         int identifierLength = currentSourcePtr() - identifierStart;
</span><span class="cx">         ident = makeIdentifier(identifierStart, identifierLength);
</span><del>-        if (m_parsingBuiltinFunction) {
-            if (!isSafeIdentifier(*m_vm, ident) &amp;&amp; !isPrivateName) {
-                m_lexErrorMessage = makeString(&quot;The use of '&quot;, ident-&gt;string(), &quot;' is disallowed in builtin functions.&quot;);
-                return ERRORTOK;
-            }
-            if (isPrivateName)
-                ident = m_vm-&gt;propertyNames-&gt;getPrivateName(*ident);
-            else if (*ident == m_vm-&gt;propertyNames-&gt;undefinedKeyword)
-                tokenData-&gt;ident = &amp;m_vm-&gt;propertyNames-&gt;undefinedKeywordPrivateName;
-            if (!ident)
-                return INVALID_PRIVATE_NAME_ERRORTOK;
-        }
</del><ins>+
</ins><span class="cx">         tokenData-&gt;ident = ident;
</span><span class="cx">     } else
</span><span class="cx">         tokenData-&gt;ident = 0;
</span><span class="cx"> 
</span><del>-    if (UNLIKELY((remaining &lt; maxTokenLength) &amp;&amp; !(lexerFlags &amp; LexerFlagsIgnoreReservedWords)) &amp;&amp; !isPrivateName) {
</del><ins>+    if (UNLIKELY((remaining &lt; maxTokenLength) &amp;&amp; !(lexerFlags &amp; LexerFlagsIgnoreReservedWords))) {
</ins><span class="cx">         ASSERT(shouldCreateIdentifier);
</span><span class="cx">         if (remaining &lt; maxTokenLength) {
</span><span class="cx">             const HashEntry* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</span><span class="lines">@@ -851,10 +814,6 @@
</span><span class="cx">             return keyword == RESERVED_IF_STRICT &amp;&amp; !strictMode ? IDENT : keyword;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    
-    bool isPrivateName = m_current == '@' &amp;&amp; m_parsingBuiltinFunction;
-    if (isPrivateName)
-        shift();
</del><span class="cx"> 
</span><span class="cx">     const UChar* identifierStart = currentSourcePtr();
</span><span class="cx">     int identifierLineStart = currentLineStartOffset();
</span><span class="lines">@@ -867,7 +826,6 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (UNLIKELY(m_current == '\\')) {
</span><del>-        ASSERT(!isPrivateName);
</del><span class="cx">         setOffsetFromSourcePtr(identifierStart, identifierLineStart);
</span><span class="cx">         return parseIdentifierSlowCase&lt;shouldCreateIdentifier&gt;(tokenData, lexerFlags, strictMode);
</span><span class="cx">     }
</span><span class="lines">@@ -879,29 +837,18 @@
</span><span class="cx"> 
</span><span class="cx">     const Identifier* ident = 0;
</span><span class="cx">     
</span><del>-    if (shouldCreateIdentifier || m_parsingBuiltinFunction) {
</del><ins>+    if (shouldCreateIdentifier) {
</ins><span class="cx">         int identifierLength = currentSourcePtr() - identifierStart;
</span><span class="cx">         if (isAll8Bit)
</span><span class="cx">             ident = makeIdentifierLCharFromUChar(identifierStart, identifierLength);
</span><span class="cx">         else
</span><span class="cx">             ident = makeIdentifier(identifierStart, identifierLength);
</span><del>-        if (m_parsingBuiltinFunction) {
-            if (!isSafeIdentifier(*m_vm, ident) &amp;&amp; !isPrivateName) {
-                m_lexErrorMessage = makeString(&quot;The use of '&quot;, ident-&gt;string(), &quot;' is disallowed in builtin functions.&quot;);
-                return ERRORTOK;
-            }
-            if (isPrivateName)
-                ident = m_vm-&gt;propertyNames-&gt;getPrivateName(*ident);
-            else if (*ident == m_vm-&gt;propertyNames-&gt;undefinedKeyword)
-                tokenData-&gt;ident = &amp;m_vm-&gt;propertyNames-&gt;undefinedKeywordPrivateName;
-            if (!ident)
-                return INVALID_PRIVATE_NAME_ERRORTOK;
-        }
</del><ins>+        
</ins><span class="cx">         tokenData-&gt;ident = ident;
</span><span class="cx">     } else
</span><span class="cx">         tokenData-&gt;ident = 0;
</span><span class="cx">     
</span><del>-    if (UNLIKELY((remaining &lt; maxTokenLength) &amp;&amp; !(lexerFlags &amp; LexerFlagsIgnoreReservedWords)) &amp;&amp; !isPrivateName) {
</del><ins>+    if (UNLIKELY((remaining &lt; maxTokenLength) &amp;&amp; !(lexerFlags &amp; LexerFlagsIgnoreReservedWords))) {
</ins><span class="cx">         ASSERT(shouldCreateIdentifier);
</span><span class="cx">         if (remaining &lt; maxTokenLength) {
</span><span class="cx">             const HashEntry* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</span><span class="lines">@@ -1711,7 +1658,6 @@
</span><span class="cx">         ASSERT(isIdentStart(m_current));
</span><span class="cx">         FALLTHROUGH;
</span><span class="cx">     case CharacterBackSlash:
</span><del>-        parseIdent:
</del><span class="cx">         if (lexerFlags &amp; LexexFlagsDontBuildKeywords)
</span><span class="cx">             token = parseIdentifier&lt;false&gt;(tokenData, lexerFlags, strictMode);
</span><span class="cx">         else
</span><span class="lines">@@ -1724,11 +1670,6 @@
</span><span class="cx">         m_terminator = true;
</span><span class="cx">         m_lineStart = m_code;
</span><span class="cx">         goto start;
</span><del>-    case CharacterPrivateIdentifierStart:
-        if (m_parsingBuiltinFunction)
-            goto parseIdent;
-
-        FALLTHROUGH;
</del><span class="cx">     case CharacterInvalid:
</span><span class="cx">         m_lexErrorMessage = invalidCharacterMessage();
</span><span class="cx">         token = ERRORTOK;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserLexerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Lexer.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Lexer.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/Lexer.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    Lexer(VM*, JSParserStrictness);
</del><ins>+    Lexer(VM*);
</ins><span class="cx">     ~Lexer();
</span><span class="cx"> 
</span><span class="cx">     // Character manipulation functions.
</span><span class="lines">@@ -238,7 +238,6 @@
</span><span class="cx">     IdentifierArena* m_arena;
</span><span class="cx"> 
</span><span class="cx">     VM* m_vm;
</span><del>-    bool m_parsingBuiltinFunction;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template &lt;&gt;
</span><span class="lines">@@ -336,12 +335,6 @@
</span><span class="cx">     return &amp;m_arena-&gt;makeIdentifierLCharFromUChar(m_vm, characters, length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ASSERT_DISABLED
-ALWAYS_INLINE bool isSafeIdentifier(VM&amp;, const Identifier*) { return true; }
-#else
-bool isSafeIdentifier(VM&amp;, const Identifier*);
-#endif
-
</del><span class="cx"> template &lt;typename T&gt;
</span><span class="cx"> ALWAYS_INLINE JSTokenType Lexer&lt;T&gt;::lexExpectIdentifier(JSToken* tokenRecord, unsigned lexerFlags, bool strictMode)
</span><span class="cx"> {
</span><span class="lines">@@ -377,15 +370,10 @@
</span><span class="cx">     ASSERT(currentOffset() &gt;= currentLineStartOffset());
</span><span class="cx"> 
</span><span class="cx">     // Create the identifier if needed
</span><del>-    if (lexerFlags &amp; LexexFlagsDontBuildKeywords
-#if !ASSERT_DISABLED
-        &amp;&amp; !m_parsingBuiltinFunction
-#endif
-        )
</del><ins>+    if (lexerFlags &amp; LexexFlagsDontBuildKeywords)
</ins><span class="cx">         tokenData-&gt;ident = 0;
</span><span class="cx">     else
</span><span class="cx">         tokenData-&gt;ident = makeLCharIdentifier(start, ptr - start);
</span><del>-
</del><span class="cx">     tokenLocation-&gt;line = m_lineNumber;
</span><span class="cx">     tokenLocation-&gt;lineStartOffset = currentLineStartOffset();
</span><span class="cx">     tokenLocation-&gt;startOffset = offsetFromSourcePtr(start);
</span><span class="lines">@@ -393,13 +381,6 @@
</span><span class="cx">     ASSERT(tokenLocation-&gt;startOffset &gt;= tokenLocation-&gt;lineStartOffset);
</span><span class="cx">     tokenRecord-&gt;m_startPosition = startPosition;
</span><span class="cx">     tokenRecord-&gt;m_endPosition = currentPosition();
</span><del>-#if !ASSERT_DISABLED
-    if (m_parsingBuiltinFunction) {
-        if (!isSafeIdentifier(*m_vm, tokenData-&gt;ident))
-            return ERRORTOK;
-    }
-#endif
-
</del><span class="cx">     m_lastToken = IDENT;
</span><span class="cx">     return IDENT;
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserNodescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Nodes.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Nodes.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/Nodes.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -132,12 +132,6 @@
</span><span class="cx">     return node.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
-void ProgramNode::setClosedVariables(const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp;&amp; closedVariables)
-{
-    m_closedVariables = std::move(closedVariables);
-}
-
</del><span class="cx"> // ------------------------------ EvalNode -----------------------------
</span><span class="cx"> 
</span><span class="cx"> inline EvalNode::EvalNode(VM* vm, const JSTokenLocation&amp; startLocation, const JSTokenLocation&amp; endLocation, unsigned endColumn, SourceElements* children, VarStack* varStack, FunctionStack* funcStack, IdentifierSet&amp; capturedVariables, const SourceCode&amp; source, CodeFeatures features, int numConstants)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserNodesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Nodes.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Nodes.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/Nodes.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1431,7 +1431,6 @@
</span><span class="cx">         bool needsActivation() const { return (hasCapturedVariables()) || (m_features &amp; (EvalFeature | WithFeature | CatchFeature)); }
</span><span class="cx">         bool hasCapturedVariables() const { return !!m_capturedVariables.size(); }
</span><span class="cx">         size_t capturedVariableCount() const { return m_capturedVariables.size(); }
</span><del>-        const IdentifierSet&amp; capturedVariables() const { return m_capturedVariables; }
</del><span class="cx">         bool captures(const Identifier&amp; ident) { return m_capturedVariables.contains(ident.impl()); }
</span><span class="cx"> 
</span><span class="cx">         VarStack&amp; varStack() { return m_varStack; }
</span><span class="lines">@@ -1447,8 +1446,6 @@
</span><span class="cx">         StatementNode* singleStatement() const;
</span><span class="cx"> 
</span><span class="cx">         void emitStatementsBytecode(BytecodeGenerator&amp;, RegisterID* destination);
</span><del>-        
-        void setClosedVariables(const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp;&amp;) { }
</del><span class="cx"> 
</span><span class="cx">     protected:
</span><span class="cx">         void setSource(const SourceCode&amp; source) { m_source = source; }
</span><span class="lines">@@ -1478,13 +1475,11 @@
</span><span class="cx"> 
</span><span class="cx">         static const bool scopeIsFunction = false;
</span><span class="cx"> 
</span><del>-        void setClosedVariables(const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp;&amp;);
-        const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp; closedVariables() const { return m_closedVariables; }
</del><span class="cx">     private:
</span><span class="cx">         ProgramNode(VM*, const JSTokenLocation&amp; start, const JSTokenLocation&amp; end, unsigned startColumn, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&amp;, const SourceCode&amp;, CodeFeatures, int numConstants);
</span><span class="cx"> 
</span><span class="cx">         virtual void emitBytecode(BytecodeGenerator&amp;, RegisterID* = 0) override;
</span><del>-        Vector&lt;RefPtr&lt;StringImpl&gt;&gt; m_closedVariables;
</del><ins>+
</ins><span class="cx">         unsigned m_startColumn;
</span><span class="cx">         unsigned m_endColumn;
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Parser.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Parser.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/Parser.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -204,9 +204,8 @@
</span><span class="cx">     , m_lastIdentifier(0)
</span><span class="cx">     , m_lastFunctionName(nullptr)
</span><span class="cx">     , m_sourceElements(0)
</span><del>-    , m_parsingBuiltin(strictness == JSParseBuiltin)
</del><span class="cx"> {
</span><del>-    m_lexer = adoptPtr(new LexerType(vm, strictness));
</del><ins>+    m_lexer = adoptPtr(new LexerType(vm));
</ins><span class="cx">     m_arena = m_vm-&gt;parserArena.get();
</span><span class="cx">     m_lexer-&gt;setCode(source, m_arena);
</span><span class="cx">     m_token.m_location.line = source.firstLine();
</span><span class="lines">@@ -257,7 +256,6 @@
</span><span class="cx">     IdentifierSet capturedVariables;
</span><span class="cx">     bool modifiedParameter = false;
</span><span class="cx">     scope-&gt;getCapturedVariables(capturedVariables, modifiedParameter);
</span><del>-    
</del><span class="cx">     CodeFeatures features = context.features();
</span><span class="cx">     if (scope-&gt;strictMode())
</span><span class="cx">         features |= StrictModeFeature;
</span><span class="lines">@@ -265,36 +263,21 @@
</span><span class="cx">         features |= ShadowsArgumentsFeature;
</span><span class="cx">     if (modifiedParameter)
</span><span class="cx">         features |= ModifiedParameterFeature;
</span><del>-    
-    Vector&lt;RefPtr&lt;StringImpl&gt;&gt; closedVariables;
-    if (m_parsingBuiltin) {
-        RELEASE_ASSERT(!capturedVariables.size());
-        IdentifierSet usedVariables;
-        scope-&gt;getUsedVariables(usedVariables);
-        for (const auto&amp; variable : usedVariables) {
-            if (scope-&gt;hasDeclaredVariable(Identifier(m_vm, variable.get())))
-                continue;
-            
-            if (scope-&gt;hasDeclaredParameter(Identifier(m_vm, variable.get())))
-                continue;
-            closedVariables.append(variable);
-        }
-    }
</del><ins>+
</ins><span class="cx">     didFinishParsing(sourceElements, context.varDeclarations(), context.funcDeclarations(), features,
</span><del>-        context.numConstants(), capturedVariables, std::move(closedVariables));
</del><ins>+        context.numConstants(), capturedVariables);
</ins><span class="cx"> 
</span><span class="cx">     return parseError;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;typename LexerType&gt;
</span><span class="cx"> void Parser&lt;LexerType&gt;::didFinishParsing(SourceElements* sourceElements, ParserArenaData&lt;DeclarationStacks::VarStack&gt;* varStack, 
</span><del>-    ParserArenaData&lt;DeclarationStacks::FunctionStack&gt;* funcStack, CodeFeatures features, int numConstants, IdentifierSet&amp; capturedVars, const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp;&amp; closedVariables)
</del><ins>+    ParserArenaData&lt;DeclarationStacks::FunctionStack&gt;* funcStack, CodeFeatures features, int numConstants, IdentifierSet&amp; capturedVars)
</ins><span class="cx"> {
</span><span class="cx">     m_sourceElements = sourceElements;
</span><span class="cx">     m_varDeclarations = varStack;
</span><span class="cx">     m_funcDeclarations = funcStack;
</span><span class="cx">     m_capturedVariables.swap(capturedVars);
</span><del>-    m_closedVariables = closedVariables;
</del><span class="cx">     m_features = features;
</span><span class="cx">     m_numConstants = numConstants;
</span><span class="cx"> }
</span><span class="lines">@@ -2363,10 +2346,6 @@
</span><span class="cx">     case RESERVED:
</span><span class="cx">         out.print(&quot;Unexpected use of reserved word '&quot;, getToken(), &quot;'&quot;);
</span><span class="cx">         return;
</span><del>-
-    case INVALID_PRIVATE_NAME_ERRORTOK:
-        out.print(&quot;Invalid private name '&quot;, getToken(), &quot;'&quot;);
-        return;
</del><span class="cx">             
</span><span class="cx">     case IDENT:
</span><span class="cx">         out.print(&quot;Unexpected identifier '&quot;, getToken(), &quot;'&quot;);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Parser.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Parser.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/Parser.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> #ifndef Parser_h
</span><span class="cx"> #define Parser_h
</span><span class="cx"> 
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;Debugger.h&quot;
</span><span class="cx"> #include &quot;ExceptionHelpers.h&quot;
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><span class="lines">@@ -260,10 +259,6 @@
</span><span class="cx">         return isValidStrictMode ? BindingSucceeded : StrictBindingFailed;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void getUsedVariables(IdentifierSet&amp; usedVariables)
-    {
-        usedVariables.swap(m_usedVariables);
-    }
</del><span class="cx"> 
</span><span class="cx">     void useVariable(const Identifier* ident, bool isEval)
</span><span class="cx">     {
</span><span class="lines">@@ -419,7 +414,6 @@
</span><span class="cx">     PassRefPtr&lt;ParsedNode&gt; parse(ParserError&amp;);
</span><span class="cx"> 
</span><span class="cx">     JSTextPosition positionBeforeLastNewline() const { return m_lexer-&gt;positionBeforeLastNewline(); }
</span><del>-    const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp;&amp; closedVariables() { return std::move(m_closedVariables); }
</del><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     struct AllowInOverride {
</span><span class="lines">@@ -546,7 +540,7 @@
</span><span class="cx">     String parseInner();
</span><span class="cx"> 
</span><span class="cx">     void didFinishParsing(SourceElements*, ParserArenaData&lt;DeclarationStacks::VarStack&gt;*, 
</span><del>-        ParserArenaData&lt;DeclarationStacks::FunctionStack&gt;*, CodeFeatures, int, IdentifierSet&amp;, const Vector&lt;RefPtr&lt;StringImpl&gt;&gt;&amp;&amp;);
</del><ins>+        ParserArenaData&lt;DeclarationStacks::FunctionStack&gt;*, CodeFeatures, int, IdentifierSet&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Used to determine type of error to report.
</span><span class="cx">     bool isFunctionBodyNode(ScopeNode*) { return false; }
</span><span class="lines">@@ -846,11 +840,9 @@
</span><span class="cx">     const Identifier* m_lastFunctionName;
</span><span class="cx">     RefPtr&lt;SourceProviderCache&gt; m_functionCache;
</span><span class="cx">     SourceElements* m_sourceElements;
</span><del>-    bool m_parsingBuiltin;
</del><span class="cx">     ParserArenaData&lt;DeclarationStacks::VarStack&gt;* m_varDeclarations;
</span><span class="cx">     ParserArenaData&lt;DeclarationStacks::FunctionStack&gt;* m_funcDeclarations;
</span><span class="cx">     IdentifierSet m_capturedVariables;
</span><del>-    Vector&lt;RefPtr&lt;StringImpl&gt;&gt; m_closedVariables;
</del><span class="cx">     CodeFeatures m_features;
</span><span class="cx">     int m_numConstants;
</span><span class="cx">     
</span><span class="lines">@@ -965,10 +957,6 @@
</span><span class="cx">         RefPtr&lt;ParsedNode&gt; result = parser.parse&lt;ParsedNode&gt;(error);
</span><span class="cx">         if (positionBeforeLastNewline)
</span><span class="cx">             *positionBeforeLastNewline = parser.positionBeforeLastNewline();
</span><del>-        if (strictness == JSParseBuiltin) {
-            RELEASE_ASSERT(result);
-            result-&gt;setClosedVariables(std::move(parser.closedVariables()));
-        }
</del><span class="cx">         return result.release();
</span><span class="cx">     }
</span><span class="cx">     Parser&lt;Lexer&lt;UChar&gt;&gt; parser(vm, source, parameters, name, strictness, parserMode);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserParserModesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/ParserModes.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/ParserModes.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/ParserModes.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-enum JSParserStrictness { JSParseNormal, JSParseBuiltin, JSParseStrict };
</del><ins>+enum JSParserStrictness { JSParseNormal, JSParseStrict };
</ins><span class="cx"> enum JSParserMode { JSParseProgramCode, JSParseFunctionCode };
</span><span class="cx"> 
</span><span class="cx"> enum ProfilerMode { ProfilerOff, ProfilerOn };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserParserTokensh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/ParserTokens.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/ParserTokens.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/parser/ParserTokens.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -149,7 +149,6 @@
</span><span class="cx">     INVALID_NUMERIC_LITERAL_ERRORTOK = 7 | ErrorTokenFlag,
</span><span class="cx">     UNTERMINATED_STRING_LITERAL_ERRORTOK = 8 | ErrorTokenFlag | UnterminatedErrorTokenFlag,
</span><span class="cx">     INVALID_STRING_LITERAL_ERRORTOK = 9 | ErrorTokenFlag,
</span><del>-    INVALID_PRIVATE_NAME_ERRORTOK = 10 | ErrorTokenFlag
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> struct JSTextPosition {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArgumentsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Arguments.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Arguments.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/Arguments.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #define Arguments_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CodeOrigin.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;JSActivation.h&quot;
</span><span class="cx"> #include &quot;JSDestructibleObject.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArgumentsIteratorPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArgumentsIteratorPrototype.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArgumentsIteratorPrototype.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/ArgumentsIteratorPrototype.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -26,9 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ArgumentsIteratorPrototype.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;JSArgumentsIterator.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArrayPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JSArrayIterator.h&quot;
</span><span class="cx"> #include &quot;JSStringBuilder.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;JSStringJoiner.h&quot;
</span><span class="cx"> #include &quot;Lookup.h&quot;
</span><span class="cx"> #include &quot;ObjectPrototype.h&quot;
</span><span class="lines">@@ -57,6 +56,7 @@
</span><span class="cx"> static EncodedJSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState*);
</span><span class="cx"> static EncodedJSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState*);
</span><span class="cx"> static EncodedJSValue JSC_HOST_CALL arrayProtoFuncUnShift(ExecState*);
</span><ins>+static EncodedJSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState*);
</ins><span class="cx"> static EncodedJSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState*);
</span><span class="cx"> static EncodedJSValue JSC_HOST_CALL arrayProtoFuncSome(ExecState*);
</span><span class="cx"> static EncodedJSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState*);
</span><span class="lines">@@ -954,6 +954,69 @@
</span><span class="cx">     return JSValue::encode(resultArray);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// Documentation for these three is available at:
+// http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:every
+// http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:forEach
+// http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:some
+
+EncodedJSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState* exec)
+{
+    JSObject* thisObj = exec-&gt;hostThisValue().toThis(exec, StrictMode).toObject(exec);
+    unsigned length = thisObj-&gt;get(exec, exec-&gt;propertyNames().length).toUInt32(exec);
+    if (exec-&gt;hadException())
+        return JSValue::encode(jsUndefined());
+
+    JSValue function = exec-&gt;argument(0);
+    CallData callData;
+    CallType callType = getCallData(function, callData);
+    if (callType == CallTypeNone)
+        return throwVMTypeError(exec);
+
+    JSValue applyThis = exec-&gt;argument(1);
+
+    JSValue result = jsBoolean(true);
+
+    unsigned k = 0;
+    if (callType == CallTypeJS &amp;&amp; isJSArray(thisObj)) {
+        JSFunction* f = jsCast&lt;JSFunction*&gt;(function);
+        JSArray* array = asArray(thisObj);
+        CachedCall cachedCall(exec, f, 3);
+        for (; k &lt; length &amp;&amp; !exec-&gt;hadException(); ++k) {
+            if (UNLIKELY(!array-&gt;canGetIndexQuickly(k)))
+                break;
+            
+            cachedCall.setThis(applyThis);
+            cachedCall.setArgument(0, array-&gt;getIndexQuickly(k));
+            cachedCall.setArgument(1, jsNumber(k));
+            cachedCall.setArgument(2, thisObj);
+            JSValue result = cachedCall.call();
+            if (!result.toBoolean(exec))
+                return JSValue::encode(jsBoolean(false));
+        }
+    }
+    for (; k &lt; length &amp;&amp; !exec-&gt;hadException(); ++k) {
+        PropertySlot slot(thisObj);
+        if (!thisObj-&gt;getPropertySlot(exec, k, slot))
+            continue;
+
+        MarkedArgumentBuffer eachArguments;
+        eachArguments.append(slot.getValue(exec, k));
+        eachArguments.append(jsNumber(k));
+        eachArguments.append(thisObj);
+
+        if (exec-&gt;hadException())
+            return JSValue::encode(jsUndefined());
+
+        bool predicateResult = call(exec, function, callType, callData, applyThis, eachArguments).toBoolean(exec);
+        if (!predicateResult) {
+            result = jsBoolean(false);
+            break;
+        }
+    }
+
+    return JSValue::encode(result);
+}
+
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSObject* thisObj = exec-&gt;hostThisValue().toThis(exec, StrictMode).toObject(exec);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCodeCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CodeCache.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CodeCache.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/CodeCache.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -144,26 +144,24 @@
</span><span class="cx">     JSTextPosition positionBeforeLastNewline;
</span><span class="cx">     RefPtr&lt;ProgramNode&gt; program = parse&lt;ProgramNode&gt;(&amp;vm, source, 0, Identifier(), JSParseNormal, JSParseProgramCode, error, &amp;positionBeforeLastNewline);
</span><span class="cx">     if (!program) {
</span><del>-        RELEASE_ASSERT(error.m_type != ParserError::ErrorNone);
</del><ins>+        ASSERT(error.m_type != ParserError::ErrorNone);
</ins><span class="cx">         m_sourceCode.remove(addResult.iterator);
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // This function assumes an input string that would result in a single anonymous function expression.
</span><span class="cx">     StatementNode* exprStatement = program-&gt;singleStatement();
</span><del>-    RELEASE_ASSERT(exprStatement);
-    RELEASE_ASSERT(exprStatement-&gt;isExprStatement());
</del><ins>+    ASSERT(exprStatement);
+    ASSERT(exprStatement-&gt;isExprStatement());
</ins><span class="cx">     ExpressionNode* funcExpr = static_cast&lt;ExprStatementNode*&gt;(exprStatement)-&gt;expr();
</span><del>-    RELEASE_ASSERT(funcExpr);
</del><ins>+    ASSERT(funcExpr);
</ins><span class="cx">     RELEASE_ASSERT(funcExpr-&gt;isFuncExprNode());
</span><span class="cx">     FunctionBodyNode* body = static_cast&lt;FuncExprNode*&gt;(funcExpr)-&gt;body();
</span><del>-    RELEASE_ASSERT(!program-&gt;hasCapturedVariables());
-    
</del><span class="cx">     body-&gt;setEndPosition(positionBeforeLastNewline);
</span><del>-    RELEASE_ASSERT(body);
-    RELEASE_ASSERT(body-&gt;ident().isNull());
</del><ins>+    ASSERT(body);
+    ASSERT(body-&gt;ident().isNull());
</ins><span class="cx"> 
</span><del>-    UnlinkedFunctionExecutable* functionExecutable = UnlinkedFunctionExecutable::create(&amp;vm, source, body, true, UnlinkedNormalFunction);
</del><ins>+    UnlinkedFunctionExecutable* functionExecutable = UnlinkedFunctionExecutable::create(&amp;vm, source, body, true);
</ins><span class="cx">     functionExecutable-&gt;m_nameValue.set(vm, functionExecutable, jsString(&amp;vm, name.string()));
</span><span class="cx"> 
</span><span class="cx">     addResult.iterator-&gt;value = SourceCodeValue(vm, functionExecutable, m_sourceCode.age());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifierscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,11 +27,8 @@
</span><span class="cx"> 
</span><span class="cx"> #define INITIALIZE_PROPERTY_NAME(name) , name(vm, #name)
</span><span class="cx"> #define INITIALIZE_KEYWORD(name) , name##Keyword(vm, #name)
</span><del>-#define INITIALIZE_PRIVATE_NAME(name) \
-    , name##PrivateName(Identifier::from(PrivateName())) \
-    , m_##name##PublicStringPair(name, name##PrivateName) \
</del><ins>+#define INITIALIZE_PRIVATE_NAME(name) , name##PrivateName(Identifier::from(PrivateName()))
</ins><span class="cx"> 
</span><del>-
</del><span class="cx"> CommonIdentifiers::CommonIdentifiers(VM* vm)
</span><span class="cx">     : nullIdentifier()
</span><span class="cx">     , emptyIdentifier(Identifier::EmptyIdentifier)
</span><span class="lines">@@ -41,26 +38,8 @@
</span><span class="cx">     , hasNextIdentifier(vm, &quot;hasNext&quot;)
</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><del>-    JSC_FOREACH_BUILTIN_FUNCTION_NAME(INITIALIZE_PROPERTY_NAME)
</del><span class="cx">     JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_PRIVATE_NAME)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const Identifier* CommonIdentifiers::getPrivateName(const Identifier&amp; ident) const
-{
-#define RETURN_IF_PRIVATE_NAME_MATCHES(name) if (m_##name##PublicStringPair.first == ident) return &amp;m_##name##PublicStringPair.second;
-    JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(RETURN_IF_PRIVATE_NAME_MATCHES)
-#undef RETURN_IF_PRIVATE_NAME_MATCHES
-    return 0;
-}
-
-Identifier CommonIdentifiers::getPublicName(const Identifier&amp; ident) const
-{
-#define RETURN_IF_PRIVATE_NAME_MATCHES(name) if (m_##name##PublicStringPair.second == ident) return m_##name##PublicStringPair.first;
-    JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(RETURN_IF_PRIVATE_NAME_MATCHES)
-#undef RETURN_IF_PRIVATE_NAME_MATCHES
-    RELEASE_ASSERT_NOT_REACHED();
-    return emptyIdentifier;
-}
-
</del><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifiersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -22,7 +22,6 @@
</span><span class="cx"> #define CommonIdentifiers_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Identifier.h&quot;
</span><del>-#include &quot;JSCBuiltins.h&quot;
</del><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="cx"> // MarkedArgumentBuffer of property names, passed to a macro so we can do set them up various
</span><span class="lines">@@ -134,10 +133,8 @@
</span><span class="cx">     macro(osrExits) \
</span><span class="cx">     macro(parse) \
</span><span class="cx">     macro(profiledBytecodes) \
</span><del>-    macro(promise) \
</del><span class="cx">     macro(propertyIsEnumerable) \
</span><span class="cx">     macro(prototype) \
</span><del>-    macro(resolve) \
</del><span class="cx">     macro(set) \
</span><span class="cx">     macro(size) \
</span><span class="cx">     macro(slice) \
</span><span class="lines">@@ -158,14 +155,7 @@
</span><span class="cx">     macro(values) \
</span><span class="cx">     macro(valueOf) \
</span><span class="cx">     macro(window) \
</span><del>-    macro(writable) \
-    macro(iterator) \
-    macro(iteratorNext) \
-    macro(reject) \
-    macro(fulfillmentHandler) \
-    macro(rejectionHandler) \
-    macro(deferred) \
-    macro(countdownHolder) \
</del><ins>+    macro(writable)
</ins><span class="cx"> 
</span><span class="cx"> #define JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(macro) \
</span><span class="cx">     macro(break) \
</span><span class="lines">@@ -213,7 +203,7 @@
</span><span class="cx">     macro(void) \
</span><span class="cx">     macro(while) \
</span><span class="cx">     macro(with) \
</span><del>-    macro(yield) \
</del><ins>+    macro(yield)
</ins><span class="cx"> 
</span><span class="cx"> #define JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \
</span><span class="cx">     macro(iterator) \
</span><span class="lines">@@ -226,12 +216,7 @@
</span><span class="cx">     macro(index) \
</span><span class="cx">     macro(values) \
</span><span class="cx">     macro(deferred) \
</span><del>-    macro(countdownHolder) \
-    macro(Object) \
-    macro(TypeError) \
-    macro(undefinedKeyword) \
-    macro(call) \
-    macro(apply)
</del><ins>+    macro(countdownHolder)
</ins><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="lines">@@ -255,15 +240,11 @@
</span><span class="cx">         
</span><span class="cx"> #define JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL(name) const Identifier name;
</span><span class="cx">         JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL)
</span><del>-        JSC_FOREACH_BUILTIN_FUNCTION_NAME(JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL)
</del><span class="cx"> #undef JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL
</span><span class="cx"> 
</span><del>-#define JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL(name) const Identifier name##PrivateName; const std::pair&lt;Identifier, Identifier&gt; m_##name##PublicStringPair;
</del><ins>+#define JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL(name) const Identifier name##PrivateName;
</ins><span class="cx">         JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL)
</span><span class="cx"> #undef JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL
</span><del>-        
-        const Identifier* getPrivateName(const Identifier&amp;) const;
-        Identifier getPublicName(const Identifier&amp;) const;
</del><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JITStubs.h&quot;
</span><span class="cx"> #include &quot;JSActivation.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><ins>+#include &quot;JSCJSValue.h&quot;
</ins><span class="cx"> #include &quot;JSGlobalObjectFunctions.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathsExceptionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPathsExceptions.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPathsExceptions.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPathsExceptions.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -29,8 +29,6 @@
</span><span class="cx"> #include &quot;CallFrame.h&quot;
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><span class="cx"> #include &quot;JITExceptions.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
-#include &quot;JSFunctionInlines.h&quot;
</del><span class="cx"> #include &quot;LLIntCommon.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC { namespace CommonSlowPaths {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeExceptionHelperscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -81,11 +81,6 @@
</span><span class="cx"> 
</span><span class="cx"> JSObject* createUndefinedVariableError(ExecState* exec, const Identifier&amp; ident)
</span><span class="cx"> {
</span><del>-    
-    if (ident.impl()-&gt;isEmptyUnique()) {
-        String message(makeString(&quot;Can't find private variable: @&quot;, exec-&gt;propertyNames().getPublicName(ident).string()));
-        return createReferenceError(exec, message);
-    }
</del><span class="cx">     String message(makeString(&quot;Can't find variable: &quot;, ident.string()));
</span><span class="cx">     return createReferenceError(exec, message);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeExecutableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Executable.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Executable.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/Executable.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -484,7 +484,7 @@
</span><span class="cx"> 
</span><span class="cx">     void clearCode();
</span><span class="cx"> 
</span><del>-    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false); }
</del><ins>+    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false); }
</ins><span class="cx"> 
</span><span class="cx">     unsigned numVariables() { return m_unlinkedEvalCodeBlock-&gt;numVariables(); }
</span><span class="cx">     unsigned numberOfFunctionDecls() { return m_unlinkedEvalCodeBlock-&gt;numberOfFunctionDecls(); }
</span><span class="lines">@@ -540,7 +540,7 @@
</span><span class="cx"> 
</span><span class="cx">     void clearCode();
</span><span class="cx"> 
</span><del>-    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false); }
</del><ins>+    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false); }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend class ScriptExecutable;
</span><span class="lines">@@ -628,8 +628,7 @@
</span><span class="cx">     {
</span><span class="cx">         return baselineCodeBlockFor(kind);
</span><span class="cx">     }
</span><del>-
-    bool isBuiltinFunction() const { return m_unlinkedExecutable-&gt;isBuiltinFunction(); }
</del><ins>+        
</ins><span class="cx">     const Identifier&amp; name() { return m_unlinkedExecutable-&gt;name(); }
</span><span class="cx">     const Identifier&amp; inferredName() { return m_unlinkedExecutable-&gt;inferredName(); }
</span><span class="cx">     JSString* nameValue() const { return m_unlinkedExecutable-&gt;nameValue(); }
</span><span class="lines">@@ -676,6 +675,14 @@
</span><span class="cx">     bool m_bodyIncludesBraces;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+inline bool isHostFunction(JSValue value, NativeFunction nativeFunction)
+{
+    JSFunction* function = jsCast&lt;JSFunction*&gt;(getJSFunction(value));
+    if (!function || !function-&gt;isHostFunction())
+        return false;
+    return function-&gt;nativeFunction() == nativeFunction;
+}
+
</ins><span class="cx"> inline void ExecutableBase::clearCodeVirtual(ExecutableBase* executable)
</span><span class="cx"> {
</span><span class="cx">     switch (executable-&gt;structure()-&gt;typeInfo().type()) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeFunctionPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -22,13 +22,12 @@
</span><span class="cx"> #include &quot;FunctionPrototype.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Arguments.h&quot;
</span><del>-#include &quot;Interpreter.h&quot;
</del><span class="cx"> #include &quot;JSArray.h&quot;
</span><span class="cx"> #include &quot;JSBoundFunction.h&quot;
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSString.h&quot;
</span><span class="cx"> #include &quot;JSStringBuilder.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><ins>+#include &quot;Interpreter.h&quot;
</ins><span class="cx"> #include &quot;Lexer.h&quot;
</span><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -109,7 +108,7 @@
</span><span class="cx">     JSValue thisValue = exec-&gt;hostThisValue();
</span><span class="cx">     if (thisValue.inherits(JSFunction::info())) {
</span><span class="cx">         JSFunction* function = jsCast&lt;JSFunction*&gt;(thisValue);
</span><del>-        if (function-&gt;isHostOrBuiltinFunction())
</del><ins>+        if (function-&gt;isHostFunction())
</ins><span class="cx">             return JSValue::encode(jsMakeNontrivialString(exec, &quot;function &quot;, function-&gt;name(exec), &quot;() {\n    [native code]\n}&quot;));
</span><span class="cx">         FunctionExecutable* executable = function-&gt;jsExecutable();
</span><span class="cx">         String sourceString = executable-&gt;source().toString();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSActivationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSActivation.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSActivation.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSActivation.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline bool JSActivation::symbolTableGet(PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.uid());
</del><ins>+    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.publicName());
</ins><span class="cx">     if (entry.isNull())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline bool JSActivation::symbolTableGet(PropertyName propertyName, PropertyDescriptor&amp; descriptor)
</span><span class="cx"> {
</span><del>-    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.uid());
</del><ins>+    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.publicName());
</ins><span class="cx">     if (entry.isNull())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     VM&amp; vm = exec-&gt;vm();
</span><span class="cx">     ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this));
</span><span class="cx">     
</span><del>-    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.uid());
</del><ins>+    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.publicName());
</ins><span class="cx">     if (entry.isNull())
</span><span class="cx">         return false;
</span><span class="cx">     if (entry.isReadOnly()) {
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx">     WriteBarrierBase&lt;Unknown&gt;* reg;
</span><span class="cx">     {
</span><span class="cx">         ConcurrentJITLocker locker(symbolTable()-&gt;m_lock);
</span><del>-        SymbolTable::Map::iterator iter = symbolTable()-&gt;find(locker, propertyName.uid());
</del><ins>+        SymbolTable::Map::iterator iter = symbolTable()-&gt;find(locker, propertyName.publicName());
</ins><span class="cx">         if (iter == symbolTable()-&gt;end(locker))
</span><span class="cx">             return false;
</span><span class="cx">         SymbolTableEntry&amp; entry = iter-&gt;value;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSArgumentsIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSArgumentsIterator.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSArgumentsIterator.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSArgumentsIterator.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;JSArgumentsIterator.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Arguments.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSArraycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSArray.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSArray.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSArray.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include &quot;Executable.h&quot;
</span><span class="cx"> #include &quot;GetterSetter.h&quot;
</span><span class="cx"> #include &quot;IndexingHeaderInlines.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;PropertyNameArray.h&quot;
</span><span class="cx"> #include &quot;Reject.h&quot;
</span><span class="cx"> #include &lt;wtf/AVLTree.h&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSArrayIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSArrayIterator.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSCJSValueInlines.h&quot;
</span><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;SlotVisitorInlines.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSCJSValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -32,9 +32,7 @@
</span><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><span class="cx"> #include &quot;JSNotAnObject.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;NumberObject.h&quot;
</span><del>-#include &quot;Operations.h&quot;
</del><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSCellInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSCellInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSCellInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSCellInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,10 +27,8 @@
</span><span class="cx"> #define JSCellInlines_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CallFrame.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;DeferGC.h&quot;
</span><span class="cx"> #include &quot;Handle.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSCell.h&quot;
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> #include &quot;JSString.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSFunctioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSFunction.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSFunction.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSFunction.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -34,8 +34,7 @@
</span><span class="cx"> #include &quot;FunctionPrototype.h&quot;
</span><span class="cx"> #include &quot;GetterSetter.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSBoundFunction.h&quot;
-#include &quot;JSFunctionInlines.h&quot;
</del><ins>+#include &quot;JSBoundFunction.h&quot; 
</ins><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><span class="cx"> #include &quot;JSNotAnObject.h&quot;
</span><span class="cx"> #include &quot;Interpreter.h&quot;
</span><span class="lines">@@ -110,14 +109,6 @@
</span><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(length), DontDelete | ReadOnly | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-JSFunction* JSFunction::createBuiltinFunction(VM&amp; vm, FunctionExecutable* executable, JSGlobalObject* globalObject)
-{
-    JSFunction* function = create(vm, executable, globalObject);
-    function-&gt;putDirect(vm, vm.propertyNames-&gt;name, jsString(&amp;vm, executable-&gt;name().string()), DontDelete | ReadOnly | DontEnum);
-    function-&gt;putDirect(vm, vm.propertyNames-&gt;length, jsNumber(executable-&gt;parameterCount()), DontDelete | ReadOnly | DontEnum);
-    return function;
-}
-
</del><span class="cx"> ObjectAllocationProfile* JSFunction::createAllocationProfile(ExecState* exec, size_t inlineCapacity)
</span><span class="cx"> {
</span><span class="cx">     VM&amp; vm = exec-&gt;vm();
</span><span class="lines">@@ -151,7 +142,7 @@
</span><span class="cx">         return explicitName;
</span><span class="cx">     
</span><span class="cx">     const String actualName = name(exec);
</span><del>-    if (!actualName.isEmpty() || isHostOrBuiltinFunction())
</del><ins>+    if (!actualName.isEmpty() || isHostFunction())
</ins><span class="cx">         return actualName;
</span><span class="cx">     
</span><span class="cx">     return jsExecutable()-&gt;inferredName().string();
</span><span class="lines">@@ -159,21 +150,11 @@
</span><span class="cx"> 
</span><span class="cx"> const SourceCode* JSFunction::sourceCode() const
</span><span class="cx"> {
</span><del>-    if (isHostOrBuiltinFunction())
</del><ins>+    if (isHostFunction())
</ins><span class="cx">         return 0;
</span><span class="cx">     return &amp;jsExecutable()-&gt;source();
</span><span class="cx"> }
</span><del>-    
-bool JSFunction::isHostOrBuiltinFunction() const
-{
-    return isHostFunction() || isBuiltinFunction();
-}
</del><span class="cx"> 
</span><del>-bool JSFunction::isBuiltinFunction() const
-{
-    return !isHostFunction() &amp;&amp; jsExecutable()-&gt;isBuiltinFunction();
-}
-
</del><span class="cx"> void JSFunction::visitChildren(JSCell* cell, SlotVisitor&amp; visitor)
</span><span class="cx"> {
</span><span class="cx">     JSFunction* thisObject = jsCast&lt;JSFunction*&gt;(cell);
</span><span class="lines">@@ -296,7 +277,7 @@
</span><span class="cx">     if (!caller.isObject() || !asObject(caller)-&gt;inherits(JSFunction::info()))
</span><span class="cx">         return JSValue::encode(caller);
</span><span class="cx">     JSFunction* function = jsCast&lt;JSFunction*&gt;(caller);
</span><del>-    if (function-&gt;isHostOrBuiltinFunction() || !function-&gt;jsExecutable()-&gt;isStrictMode())
</del><ins>+    if (function-&gt;isHostFunction() || !function-&gt;jsExecutable()-&gt;isStrictMode())
</ins><span class="cx">         return JSValue::encode(caller);
</span><span class="cx">     return JSValue::encode(throwTypeError(exec, ASCIILiteral(&quot;Function.caller used to retrieve strict caller&quot;)));
</span><span class="cx"> }
</span><span class="lines">@@ -318,7 +299,7 @@
</span><span class="cx"> bool JSFunction::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     JSFunction* thisObject = jsCast&lt;JSFunction*&gt;(object);
</span><del>-    if (thisObject-&gt;isHostOrBuiltinFunction())
</del><ins>+    if (thisObject-&gt;isHostFunction())
</ins><span class="cx">         return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</span><span class="cx"> 
</span><span class="cx">     if (propertyName == exec-&gt;propertyNames().prototype) {
</span><span class="lines">@@ -380,7 +361,7 @@
</span><span class="cx"> void JSFunction::getOwnNonIndexPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray&amp; propertyNames, EnumerationMode mode)
</span><span class="cx"> {
</span><span class="cx">     JSFunction* thisObject = jsCast&lt;JSFunction*&gt;(object);
</span><del>-    if (!thisObject-&gt;isHostOrBuiltinFunction() &amp;&amp; (mode == IncludeDontEnumProperties)) {
</del><ins>+    if (!thisObject-&gt;isHostFunction() &amp;&amp; (mode == IncludeDontEnumProperties)) {
</ins><span class="cx">         // Make sure prototype has been reified.
</span><span class="cx">         PropertySlot slot(thisObject);
</span><span class="cx">         thisObject-&gt;methodTable()-&gt;getOwnPropertySlot(thisObject, exec, exec-&gt;propertyNames().prototype, slot);
</span><span class="lines">@@ -396,7 +377,7 @@
</span><span class="cx"> void JSFunction::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     JSFunction* thisObject = jsCast&lt;JSFunction*&gt;(cell);
</span><del>-    if (thisObject-&gt;isHostOrBuiltinFunction()) {
</del><ins>+    if (thisObject-&gt;isHostFunction()) {
</ins><span class="cx">         Base::put(thisObject, exec, propertyName, value, slot);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -444,7 +425,7 @@
</span><span class="cx"> bool JSFunction::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName propertyName, const PropertyDescriptor&amp; descriptor, bool throwException)
</span><span class="cx"> {
</span><span class="cx">     JSFunction* thisObject = jsCast&lt;JSFunction*&gt;(object);
</span><del>-    if (thisObject-&gt;isHostOrBuiltinFunction())
</del><ins>+    if (thisObject-&gt;isHostFunction())
</ins><span class="cx">         return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException);
</span><span class="cx"> 
</span><span class="cx">     if (propertyName == exec-&gt;propertyNames().prototype) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSFunctionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSFunction.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSFunction.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSFunction.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -68,8 +68,6 @@
</span><span class="cx">             return function;
</span><span class="cx">         }
</span><span class="cx">         
</span><del>-        static JSFunction* createBuiltinFunction(VM&amp;, FunctionExecutable*, JSGlobalObject*);
-        
</del><span class="cx">         static void destroy(JSCell*);
</span><span class="cx">         
</span><span class="cx">         JS_EXPORT_PRIVATE String name(ExecState*);
</span><span class="lines">@@ -99,7 +97,7 @@
</span><span class="cx">         ExecutableBase* executable() const { return m_executable.get(); }
</span><span class="cx"> 
</span><span class="cx">         // To call either of these methods include Executable.h
</span><del>-        bool isHostFunction() const;
</del><ins>+        inline bool isHostFunction() const;
</ins><span class="cx">         FunctionExecutable* jsExecutable() const;
</span><span class="cx"> 
</span><span class="cx">         JS_EXPORT_PRIVATE const SourceCode* sourceCode() const;
</span><span class="lines">@@ -147,10 +145,6 @@
</span><span class="cx">             return m_allocationProfileWatchpoint;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        bool isHostOrBuiltinFunction() const;
-        bool isBuiltinFunction() const;
-        JS_EXPORT_PRIVATE bool isHostFunctionNonInline() const;
-
</del><span class="cx">     protected:
</span><span class="cx">         const static unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesVisitChildren | OverridesGetPropertyNames | JSObject::StructureFlags;
</span><span class="cx"> 
</span><span class="lines">@@ -175,6 +169,8 @@
</span><span class="cx">     private:
</span><span class="cx">         friend class LLIntOffsetsExtractor;
</span><span class="cx">         
</span><ins>+        JS_EXPORT_PRIVATE bool isHostFunctionNonInline() const;
+
</ins><span class="cx">         static EncodedJSValue argumentsGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</span><span class="cx">         static EncodedJSValue callerGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</span><span class="cx">         static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSFunctionInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSFunctionInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSFunctionInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSFunctionInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -53,24 +53,16 @@
</span><span class="cx"> 
</span><span class="cx"> inline NativeFunction JSFunction::nativeFunction()
</span><span class="cx"> {
</span><del>-    ASSERT(isHostFunctionNonInline());
</del><ins>+    ASSERT(isHostFunction());
</ins><span class="cx">     return static_cast&lt;NativeExecutable*&gt;(m_executable.get())-&gt;function();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline NativeFunction JSFunction::nativeConstructor()
</span><span class="cx"> {
</span><del>-    ASSERT(isHostFunctionNonInline());
</del><ins>+    ASSERT(isHostFunction());
</ins><span class="cx">     return static_cast&lt;NativeExecutable*&gt;(m_executable.get())-&gt;constructor();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline bool isHostFunction(JSValue value, NativeFunction nativeFunction)
-{
-    JSFunction* function = jsCast&lt;JSFunction*&gt;(getJSFunction(value));
-    if (!function || !function-&gt;isHostFunction())
-        return false;
-    return function-&gt;nativeFunction() == nativeFunction;
-}
-
</del><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="cx"> #endif // JSFunctionInlines_h
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewConstructorInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</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;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;JSArrayBuffer.h&quot;
</span><span class="cx"> #include &quot;JSGenericTypedArrayViewConstructor.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #define JSGenericTypedArrayViewInlines_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ArrayBufferView.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;DeferGC.h&quot;
</span><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;ExceptionHelpers.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGenericTypedArrayViewPrototypeInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #ifndef JSGenericTypedArrayViewPrototypeInlines_h
</span><span class="cx"> #define JSGenericTypedArrayViewPrototypeInlines_h
</span><span class="cx"> 
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;ExceptionHelpers.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 (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -346,8 +346,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Constructors
</span><span class="cx"> 
</span><del>-    ObjectConstructor* objectConstructor = ObjectConstructor::create(vm, ObjectConstructor::createStructure(vm, this, m_functionPrototype.get()), m_objectPrototype.get());
-    m_objectConstructor.set(vm, this, objectConstructor);
</del><ins>+    JSCell* objectConstructor = ObjectConstructor::create(vm, ObjectConstructor::createStructure(vm, this, m_functionPrototype.get()), m_objectPrototype.get());
</ins><span class="cx">     JSCell* functionConstructor = FunctionConstructor::create(vm, FunctionConstructor::createStructure(vm, this, m_functionPrototype.get()), m_functionPrototype.get());
</span><span class="cx">     JSCell* arrayConstructor = ArrayConstructor::create(vm, ArrayConstructor::createStructure(vm, this, m_functionPrototype.get()), m_arrayPrototype.get());
</span><span class="cx"> 
</span><span class="lines">@@ -433,10 +432,7 @@
</span><span class="cx">     GlobalPropertyInfo staticGlobals[] = {
</span><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><del>-        GlobalPropertyInfo(vm.propertyNames-&gt;undefinedKeyword, jsUndefined(), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;undefinedKeywordPrivateName, jsUndefined(), DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;ObjectPrivateName, objectConstructor, DontEnum | DontDelete | ReadOnly),
-        GlobalPropertyInfo(vm.propertyNames-&gt;TypeErrorPrivateName, m_typeErrorConstructor.get(), DontEnum | DontDelete | ReadOnly)
</del><ins>+        GlobalPropertyInfo(vm.propertyNames-&gt;undefinedKeyword, jsUndefined(), DontEnum | DontDelete | ReadOnly)
</ins><span class="cx">     };
</span><span class="cx">     addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals));
</span><span class="cx">     
</span><span class="lines">@@ -612,7 +608,6 @@
</span><span class="cx">     visitor.append(&amp;thisObject-&gt;m_syntaxErrorConstructor);
</span><span class="cx">     visitor.append(&amp;thisObject-&gt;m_typeErrorConstructor);
</span><span class="cx">     visitor.append(&amp;thisObject-&gt;m_URIErrorConstructor);
</span><del>-    visitor.append(&amp;thisObject-&gt;m_objectConstructor);
</del><span class="cx">     visitor.append(&amp;thisObject-&gt;m_promiseConstructor);
</span><span class="cx"> 
</span><span class="cx">     visitor.append(&amp;thisObject-&gt;m_evalFunction);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -67,7 +67,6 @@
</span><span class="cx"> class LLIntOffsetsExtractor;
</span><span class="cx"> class Microtask;
</span><span class="cx"> class NativeErrorConstructor;
</span><del>-class ObjectConstructor;
</del><span class="cx"> class ProgramCodeBlock;
</span><span class="cx"> class ProgramExecutable;
</span><span class="cx"> class RegExpConstructor;
</span><span class="lines">@@ -159,7 +158,6 @@
</span><span class="cx">     WriteBarrier&lt;NativeErrorConstructor&gt; m_typeErrorConstructor;
</span><span class="cx">     WriteBarrier&lt;NativeErrorConstructor&gt; m_URIErrorConstructor;
</span><span class="cx">     WriteBarrier&lt;JSPromiseConstructor&gt; m_promiseConstructor;
</span><del>-    WriteBarrier&lt;ObjectConstructor&gt; m_objectConstructor;
</del><span class="cx"> 
</span><span class="cx">     WriteBarrier&lt;JSFunction&gt; m_evalFunction;
</span><span class="cx">     WriteBarrier&lt;JSFunction&gt; m_callFunction;
</span><span class="lines">@@ -332,7 +330,6 @@
</span><span class="cx">     RegExpConstructor* regExpConstructor() const { return m_regExpConstructor.get(); }
</span><span class="cx"> 
</span><span class="cx">     ErrorConstructor* errorConstructor() const { return m_errorConstructor.get(); }
</span><del>-    ObjectConstructor* objectConstructor() const { return m_objectConstructor.get(); }
</del><span class="cx">     NativeErrorConstructor* evalErrorConstructor() const { return m_evalErrorConstructor.get(); }
</span><span class="cx">     NativeErrorConstructor* rangeErrorConstructor() const { return m_rangeErrorConstructor.get(); }
</span><span class="cx">     NativeErrorConstructor* referenceErrorConstructor() const { return m_referenceErrorConstructor.get(); }
</span><span class="lines">@@ -584,7 +581,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline bool JSGlobalObject::symbolTableHasProperty(PropertyName propertyName)
</span><span class="cx"> {
</span><del>-    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.uid());
</del><ins>+    SymbolTableEntry entry = symbolTable()-&gt;inlineGet(propertyName.publicName());
</ins><span class="cx">     return !entry.isNull();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">         int hashSizeMask = table-&gt;compactSize - 1;
</span><span class="cx">         const HashEntry* entry = table-&gt;table;
</span><span class="cx">         for (int i = 0; i &lt;= hashSizeMask; ++i, ++entry) {
</span><del>-            if (entry-&gt;key() &amp;&amp; (!(entry-&gt;attributes() &amp; DontEnum) || (mode == IncludeDontEnumProperties)) &amp;&amp; !((entry-&gt;attributes() &amp; BuiltinOrFunction) &amp;&amp; didReify))
</del><ins>+            if (entry-&gt;key() &amp;&amp; (!(entry-&gt;attributes() &amp; DontEnum) || (mode == IncludeDontEnumProperties)) &amp;&amp; !((entry-&gt;attributes() &amp; Function) &amp;&amp; didReify))
</ins><span class="cx">                 propertyNames.add(entry-&gt;key());
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1618,7 +1618,7 @@
</span><span class="cx">             continue;
</span><span class="cx">         PropertySlot slot(this);
</span><span class="cx">         for (HashTable::ConstIterator iter = hashTable-&gt;begin(vm); iter != hashTable-&gt;end(vm); ++iter) {
</span><del>-            if (iter-&gt;attributes() &amp; BuiltinOrFunction)
</del><ins>+            if (iter-&gt;attributes() &amp; Function)
</ins><span class="cx">                 setUpStaticFunctionSlot(globalObject()-&gt;globalExec(), *iter, this, Identifier(&amp;vm, iter-&gt;key()), slot);
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -2236,16 +2236,6 @@
</span><span class="cx">     putDirect(vm, propertyName, function, attributes);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSObject::putDirectBuiltinFunction(VM&amp; vm, JSGlobalObject* globalObject, const PropertyName&amp; propertyName, FunctionExecutable* functionExecutable, unsigned attributes)
-{
-    StringImpl* name = propertyName.publicName();
-    if (!name)
-        name = vm.propertyNames-&gt;anonymous.impl();
-    ASSERT(name);
-    JSFunction* function = JSFunction::createBuiltinFunction(vm, static_cast&lt;FunctionExecutable*&gt;(functionExecutable), globalObject);
-    putDirect(vm, propertyName, function, attributes);
-}
-
</del><span class="cx"> void JSObject::putDirectNativeFunctionWithoutTransition(VM&amp; vm, JSGlobalObject* globalObject, const PropertyName&amp; propertyName, unsigned functionLength, NativeFunction nativeFunction, Intrinsic intrinsic, unsigned attributes)
</span><span class="cx"> {
</span><span class="cx">     StringImpl* name = propertyName.publicName();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;Butterfly.h&quot;
</span><span class="cx"> #include &quot;CallFrame.h&quot;
</span><span class="cx"> #include &quot;ClassInfo.h&quot;
</span><ins>+#include &quot;CommonIdentifiers.h&quot;
</ins><span class="cx"> #include &quot;CopyWriteBarrier.h&quot;
</span><span class="cx"> #include &quot;DeferGC.h&quot;
</span><span class="cx"> #include &quot;Heap.h&quot;
</span><span class="lines">@@ -580,7 +581,6 @@
</span><span class="cx">     void putDirectUndefined(PropertyOffset offset) { locationForOffset(offset)-&gt;setUndefined(); }
</span><span class="cx"> 
</span><span class="cx">     void putDirectNativeFunction(VM&amp;, JSGlobalObject*, const PropertyName&amp;, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
</span><del>-    void putDirectBuiltinFunction(VM&amp;, JSGlobalObject*, const PropertyName&amp;, FunctionExecutable*, unsigned attributes);
</del><span class="cx">     void putDirectNativeFunctionWithoutTransition(VM&amp;, JSGlobalObject*, const PropertyName&amp;, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
</span><span class="cx"> 
</span><span class="cx">     JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&amp;, bool shouldThrow);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromiseConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> #include &quot;JSPromiseDeferred.h&quot;
</span><span class="cx"> #include &quot;JSPromiseFunctions.h&quot;
</span><span class="cx"> #include &quot;JSPromisePrototype.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Lookup.h&quot;
</span><span class="cx"> #include &quot;NumberObject.h&quot;
</span><span class="cx"> #include &quot;StructureInlines.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromiseDeferredcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSPromiseDeferred.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include &quot;JSPromise.h&quot;
</span><span class="cx"> #include &quot;JSPromiseConstructor.h&quot;
</span><span class="cx"> #include &quot;JSPromiseFunctions.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;SlotVisitorInlines.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromisePrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include &quot;JSPromiseDeferred.h&quot;
</span><span class="cx"> #include &quot;JSPromiseFunctions.h&quot;
</span><span class="cx"> #include &quot;JSPromiseReaction.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Microtask.h&quot;
</span><span class="cx"> #include &quot;StructureInlines.h&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromiseReactionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #define JSPromiseReaction_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSCell.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Structure.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPropertyNameIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -29,9 +29,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><del>-#include &quot;Operations.h&quot;
</del><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPropertyNameIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> #include &quot;JSString.h&quot;
</span><ins>+#include &quot;Operations.h&quot;
</ins><span class="cx"> #include &quot;PropertyNameArray.h&quot;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSStringh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSString.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSString.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSString.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #define JSString_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CallFrame.h&quot;
</span><ins>+#include &quot;CommonIdentifiers.h&quot;
</ins><span class="cx"> #include &quot;Identifier.h&quot;
</span><span class="cx"> #include &quot;PropertyDescriptor.h&quot;
</span><span class="cx"> #include &quot;PropertySlot.h&quot;
</span><span class="lines">@@ -471,6 +472,33 @@
</span><span class="cx">     inline JSString* jsNontrivialString(ExecState* exec, const String&amp; s) { return jsNontrivialString(&amp;exec-&gt;vm(), s); }
</span><span class="cx">     inline JSString* jsOwnedString(ExecState* exec, const String&amp; s) { return jsOwnedString(&amp;exec-&gt;vm(), s); }
</span><span class="cx"> 
</span><ins>+    ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
+    {
+        if (propertyName == exec-&gt;propertyNames().length) {
+            slot.setValue(this, DontEnum | DontDelete | ReadOnly, jsNumber(m_length));
+            return true;
+        }
+
+        unsigned i = propertyName.asIndex();
+        if (i &lt; m_length) {
+            ASSERT(i != PropertyName::NotAnIndex); // No need for an explicit check, the above test would always fail!
+            slot.setValue(this, DontDelete | ReadOnly, getIndex(exec, i));
+            return true;
+        }
+
+        return false;
+    }
+            
+    ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot&amp; slot)
+    {
+        if (propertyName &lt; m_length) {
+            slot.setValue(this, DontDelete | ReadOnly, getIndex(exec, propertyName));
+            return true;
+        }
+
+        return false;
+    }
+
</ins><span class="cx">     inline bool isJSString(JSValue v) { return v.isCell() &amp;&amp; v.asCell()-&gt;classInfo() == JSString::info(); }
</span><span class="cx"> 
</span><span class="cx">     // --- JSValue inlines ----------------------------
</span><span class="lines">@@ -500,6 +528,32 @@
</span><span class="cx">         return toWTFStringSlowCase(exec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    ALWAYS_INLINE String inlineJSValueNotStringtoString(const JSValue&amp; value, ExecState* exec)
+    {
+        VM&amp; vm = exec-&gt;vm();
+        if (value.isInt32())
+            return vm.numericStrings.add(value.asInt32());
+        if (value.isDouble())
+            return vm.numericStrings.add(value.asDouble());
+        if (value.isTrue())
+            return vm.propertyNames-&gt;trueKeyword.string();
+        if (value.isFalse())
+            return vm.propertyNames-&gt;falseKeyword.string();
+        if (value.isNull())
+            return vm.propertyNames-&gt;nullKeyword.string();
+        if (value.isUndefined())
+            return vm.propertyNames-&gt;undefinedKeyword.string();
+        return value.toString(exec)-&gt;value(exec);
+    }
+
+    ALWAYS_INLINE String JSValue::toWTFStringInline(ExecState* exec) const
+    {
+        if (isString())
+            return static_cast&lt;JSString*&gt;(asCell())-&gt;value(exec);
+
+        return inlineJSValueNotStringtoString(*this, exec);
+    }
+
</ins><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="cx"> #endif // JSString_h
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSStringInlinesh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/runtime/JSStringInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSStringInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSStringInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,90 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012, 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 JSStringInlines_h
-#define JSStringInlines_h
-
-#include &quot;CommonIdentifiers.h&quot;
-#include &quot;JSCJSValueInlines.h&quot;
-#include &quot;JSString.h&quot;
-
-namespace JSC {
-
-ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    if (propertyName == exec-&gt;propertyNames().length) {
-        slot.setValue(this, DontEnum | DontDelete | ReadOnly, jsNumber(m_length));
-        return true;
-    }
-    
-    unsigned i = propertyName.asIndex();
-    if (i &lt; m_length) {
-        ASSERT(i != PropertyName::NotAnIndex); // No need for an explicit check, the above test would always fail!
-        slot.setValue(this, DontDelete | ReadOnly, getIndex(exec, i));
-        return true;
-    }
-    
-    return false;
-}
-
-ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot&amp; slot)
-{
-    if (propertyName &lt; m_length) {
-        slot.setValue(this, DontDelete | ReadOnly, getIndex(exec, propertyName));
-        return true;
-    }
-    
-    return false;
-}
-
-ALWAYS_INLINE String inlineJSValueNotStringtoString(const JSValue&amp; value, ExecState* exec)
-{
-    VM&amp; vm = exec-&gt;vm();
-    if (value.isInt32())
-        return vm.numericStrings.add(value.asInt32());
-    if (value.isDouble())
-        return vm.numericStrings.add(value.asDouble());
-    if (value.isTrue())
-        return vm.propertyNames-&gt;trueKeyword.string();
-    if (value.isFalse())
-        return vm.propertyNames-&gt;falseKeyword.string();
-    if (value.isNull())
-        return vm.propertyNames-&gt;nullKeyword.string();
-    if (value.isUndefined())
-        return vm.propertyNames-&gt;undefinedKeyword.string();
-    return value.toString(exec)-&gt;value(exec);
-}
-    
-ALWAYS_INLINE String JSValue::toWTFStringInline(ExecState* exec) const
-{
-    if (isString())
-        return static_cast&lt;JSString*&gt;(asCell())-&gt;value(exec);
-    
-    return inlineJSValueNotStringtoString(*this, exec);
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSymbolTableObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -64,8 +64,6 @@
</span><span class="cx">         ConcurrentJITLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</span><span class="cx">         SymbolTable::Map::iterator end = thisObject-&gt;symbolTable()-&gt;end(locker);
</span><span class="cx">         for (SymbolTable::Map::iterator it = thisObject-&gt;symbolTable()-&gt;begin(locker); it != end; ++it) {
</span><del>-            if (it-&gt;key-&gt;isEmptyUnique())
-                continue;
</del><span class="cx">             if (!(it-&gt;value.getAttributes() &amp; DontEnum) || (mode == IncludeDontEnumProperties))
</span><span class="cx">                 propertyNames.add(Identifier(exec, it-&gt;key.get()));
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSymbolTableObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx"> {
</span><span class="cx">     SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><span class="cx">     ConcurrentJITLocker locker(symbolTable.m_lock);
</span><del>-    SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</del><ins>+    SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.publicName());
</ins><span class="cx">     if (iter == symbolTable.end(locker))
</span><span class="cx">         return false;
</span><span class="cx">     SymbolTableEntry::Fast entry = iter-&gt;value;
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> {
</span><span class="cx">     SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><span class="cx">     ConcurrentJITLocker locker(symbolTable.m_lock);
</span><del>-    SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</del><ins>+    SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.publicName());
</ins><span class="cx">     if (iter == symbolTable.end(locker))
</span><span class="cx">         return false;
</span><span class="cx">     SymbolTableEntry::Fast entry = iter-&gt;value;
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx"> {
</span><span class="cx">     SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><span class="cx">     ConcurrentJITLocker locker(symbolTable.m_lock);
</span><del>-    SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</del><ins>+    SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.publicName());
</ins><span class="cx">     if (iter == symbolTable.end(locker))
</span><span class="cx">         return false;
</span><span class="cx">     SymbolTableEntry::Fast entry = iter-&gt;value;
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">     {
</span><span class="cx">         SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><span class="cx">         GCSafeConcurrentJITLocker locker(symbolTable.m_lock, exec-&gt;vm().heap);
</span><del>-        SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</del><ins>+        SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.publicName());
</ins><span class="cx">         if (iter == symbolTable.end(locker))
</span><span class="cx">             return false;
</span><span class="cx">         bool wasFat;
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">     {
</span><span class="cx">         SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><span class="cx">         ConcurrentJITLocker locker(symbolTable.m_lock);
</span><del>-        SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</del><ins>+        SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.publicName());
</ins><span class="cx">         if (iter == symbolTable.end(locker))
</span><span class="cx">             return false;
</span><span class="cx">         SymbolTableEntry&amp; entry = iter-&gt;value;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeLookupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Lookup.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Lookup.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/Lookup.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> bool setUpStaticFunctionSlot(ExecState* exec, const HashEntry* entry, JSObject* thisObj, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(thisObj-&gt;globalObject());
</span><del>-    ASSERT(entry-&gt;attributes() &amp; BuiltinOrFunction);
</del><ins>+    ASSERT(entry-&gt;attributes() &amp; Function);
</ins><span class="cx">     VM&amp; vm = exec-&gt;vm();
</span><span class="cx">     unsigned attributes;
</span><span class="cx">     PropertyOffset offset = thisObj-&gt;getDirectOffset(vm, propertyName, attributes);
</span><span class="lines">@@ -79,13 +79,9 @@
</span><span class="cx">         if (thisObj-&gt;staticFunctionsReified())
</span><span class="cx">             return false;
</span><span class="cx">     
</span><del>-        if (entry-&gt;attributes() &amp; Builtin)
-            thisObj-&gt;putDirectBuiltinFunction(vm, thisObj-&gt;globalObject(), propertyName, entry-&gt;builtinGenerator()(vm), entry-&gt;attributes());
-        else {
-            thisObj-&gt;putDirectNativeFunction(
-                vm, thisObj-&gt;globalObject(), propertyName, entry-&gt;functionLength(),
-                entry-&gt;function(), entry-&gt;intrinsic(), entry-&gt;attributes());
-        }
</del><ins>+        thisObj-&gt;putDirectNativeFunction(
+            vm, thisObj-&gt;globalObject(), propertyName, entry-&gt;functionLength(),
+            entry-&gt;function(), entry-&gt;intrinsic(), entry-&gt;attributes());
</ins><span class="cx">         offset = thisObj-&gt;getDirectOffset(vm, propertyName, attributes);
</span><span class="cx">         ASSERT(isValidOffset(offset));
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeLookuph"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Lookup.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Lookup.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/Lookup.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx">     // ie. typedef JSValue (*GetFunction)(ExecState*, JSObject* baseObject)
</span><span class="cx">     typedef PropertySlot::GetValueFunc GetFunction;
</span><span class="cx">     typedef PutPropertySlot::PutValueFunc PutFunction;
</span><del>-    typedef FunctionExecutable* (*BuiltinGenerator)(VM&amp;);
</del><span class="cx"> 
</span><span class="cx">     class HashEntry {
</span><span class="cx">         WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -69,12 +68,11 @@
</span><span class="cx">             return m_intrinsic;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        BuiltinGenerator builtinGenerator() const { ASSERT(m_attributes &amp; Builtin); return m_u.builtinGenerator.generatorValue; }
</del><span class="cx">         NativeFunction function() const { ASSERT(m_attributes &amp; Function); return m_u.function.functionValue; }
</span><span class="cx">         unsigned char functionLength() const { ASSERT(m_attributes &amp; Function); return static_cast&lt;unsigned char&gt;(m_u.function.length); }
</span><span class="cx"> 
</span><del>-        GetFunction propertyGetter() const { ASSERT(!(m_attributes &amp; BuiltinOrFunction)); return m_u.property.get; }
-        PutFunction propertyPutter() const { ASSERT(!(m_attributes &amp; BuiltinOrFunction)); return m_u.property.put; }
</del><ins>+        GetFunction propertyGetter() const { ASSERT(!(m_attributes &amp; Function)); return m_u.property.get; }
+        PutFunction propertyPutter() const { ASSERT(!(m_attributes &amp; Function)); return m_u.property.put; }
</ins><span class="cx"> 
</span><span class="cx">         intptr_t lexerValue() const { ASSERT(!m_attributes); return m_u.lexer.value; }
</span><span class="cx"> 
</span><span class="lines">@@ -96,10 +94,6 @@
</span><span class="cx">                 intptr_t length; // number of arguments for function
</span><span class="cx">             } function;
</span><span class="cx">             struct {
</span><del>-                BuiltinGenerator generatorValue;
-                intptr_t unused;
-            } builtinGenerator;
-            struct {
</del><span class="cx">                 GetFunction get;
</span><span class="cx">                 PutFunction put;
</span><span class="cx">             } property;
</span><span class="lines">@@ -215,7 +209,7 @@
</span><span class="cx">     private:
</span><span class="cx">         ALWAYS_INLINE const HashEntry* entry(PropertyName propertyName) const
</span><span class="cx">         {
</span><del>-            StringImpl* impl = propertyName.uid();
</del><ins>+            StringImpl* impl = propertyName.publicName();
</ins><span class="cx">             if (!impl)
</span><span class="cx">                 return 0;
</span><span class="cx">         
</span><span class="lines">@@ -255,7 +249,7 @@
</span><span class="cx">         if (!entry) // not found, forward to parent
</span><span class="cx">             return ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot);
</span><span class="cx"> 
</span><del>-        if (entry-&gt;attributes() &amp; BuiltinOrFunction)
</del><ins>+        if (entry-&gt;attributes() &amp; Function)
</ins><span class="cx">             return setUpStaticFunctionSlot(exec, entry, thisObj, propertyName, slot);
</span><span class="cx"> 
</span><span class="cx">         slot.setCacheableCustom(thisObj, entry-&gt;attributes(), entry-&gt;propertyGetter());
</span><span class="lines">@@ -292,7 +286,7 @@
</span><span class="cx">         if (!entry) // not found, forward to parent
</span><span class="cx">             return ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot);
</span><span class="cx"> 
</span><del>-        ASSERT(!(entry-&gt;attributes() &amp; BuiltinOrFunction));
</del><ins>+        ASSERT(!(entry-&gt;attributes() &amp; Function));
</ins><span class="cx"> 
</span><span class="cx">         slot.setCacheableCustom(thisObj, entry-&gt;attributes(), entry-&gt;propertyGetter());
</span><span class="cx">         return true;
</span><span class="lines">@@ -301,7 +295,7 @@
</span><span class="cx">     inline void putEntry(ExecState* exec, const HashEntry* entry, JSObject* base, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</span><span class="cx">     {
</span><span class="cx">         // If this is a function put it as an override property.
</span><del>-        if (entry-&gt;attributes() &amp; BuiltinOrFunction) {
</del><ins>+        if (entry-&gt;attributes() &amp; Function) {
</ins><span class="cx">             if (JSObject* thisObject = jsDynamicCast&lt;JSObject*&gt;(slot.thisValue()))
</span><span class="cx">                 thisObject-&gt;putDirect(exec-&gt;vm(), propertyName, value);
</span><span class="cx">         } else if (!(entry-&gt;attributes() &amp; ReadOnly)) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeNativeErrorConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -38,20 +38,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NativeErrorConstructor::finishCreation(VM&amp; vm, JSGlobalObject* globalObject, Structure* prototypeStructure, const String&amp; name)
-{
-    Base::finishCreation(vm, name);
-    ASSERT(inherits(info()));
-    
-    NativeErrorPrototype* prototype = NativeErrorPrototype::create(vm, globalObject, prototypeStructure, name, this);
-    
-    putDirect(vm, vm.propertyNames-&gt;length, jsNumber(1), DontDelete | ReadOnly | DontEnum); // ECMA 15.11.7.5
-    putDirect(vm, vm.propertyNames-&gt;prototype, prototype, DontDelete | ReadOnly | DontEnum);
-    m_errorStructure.set(vm, this, ErrorInstance::createStructure(vm, globalObject, prototype));
-    ASSERT(m_errorStructure);
-    ASSERT(m_errorStructure-&gt;isObject());
-}
-
</del><span class="cx"> void NativeErrorConstructor::visitChildren(JSCell* cell, SlotVisitor&amp; visitor)
</span><span class="cx"> {
</span><span class="cx">     NativeErrorConstructor* thisObject = jsCast&lt;NativeErrorConstructor*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeNativeErrorConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -51,8 +51,20 @@
</span><span class="cx">         Structure* errorStructure() { return m_errorStructure.get(); }
</span><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        void finishCreation(VM&amp;, JSGlobalObject*, Structure* prototypeStructure, const String&amp; name);
</del><ins>+        void finishCreation(VM&amp; vm, JSGlobalObject* globalObject, Structure* prototypeStructure, const String&amp; name)
+        {
+            Base::finishCreation(vm, name);
+            ASSERT(inherits(info()));
</ins><span class="cx"> 
</span><ins>+            NativeErrorPrototype* prototype = NativeErrorPrototype::create(vm, globalObject, prototypeStructure, name, this);
+
+            putDirect(vm, vm.propertyNames-&gt;length, jsNumber(1), DontDelete | ReadOnly | DontEnum); // ECMA 15.11.7.5
+            putDirect(vm, vm.propertyNames-&gt;prototype, prototype, DontDelete | ReadOnly | DontEnum);
+            m_errorStructure.set(vm, this, ErrorInstance::createStructure(vm, globalObject, prototype));
+            ASSERT(m_errorStructure);
+            ASSERT(m_errorStructure-&gt;isObject());
+        }
+
</ins><span class="cx">     private:
</span><span class="cx">         NativeErrorConstructor(VM&amp;, Structure*);
</span><span class="cx">         static const unsigned StructureFlags = OverridesVisitChildren | InternalFunction::StructureFlags;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimePropertySloth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/PropertySlot.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/PropertySlot.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/PropertySlot.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -42,8 +42,6 @@
</span><span class="cx">     Function     = 1 &lt;&lt; 4,  // property is a function - only used by static hashtables
</span><span class="cx">     Accessor     = 1 &lt;&lt; 5,  // property is a getter/setter
</span><span class="cx">     CustomAccessor = 1 &lt;&lt; 6,
</span><del>-    Builtin         = 1 &lt;&lt; 7, // property is a builtin function - only used by static hashtables
-    BuiltinOrFunction = Builtin | Function, // helper only used by static hashtables
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class PropertySlot {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExpConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> #include &quot;RegExpConstructor.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Error.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;RegExpMatchesArray.h&quot;
</span><span class="cx"> #include &quot;RegExpPrototype.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExpPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> #include &quot;ArrayPrototype.h&quot;
</span><span class="cx"> #include &quot;Error.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><ins>+#include &quot;JSCJSValue.h&quot;
</ins><span class="cx"> #include &quot;JSFunction.h&quot;
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> #include &quot;JSString.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeSetConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/SetConstructor.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/SetConstructor.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/SetConstructor.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;JSCellInlines.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><span class="cx"> #include &quot;JSSet.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;MapData.h&quot;
</span><span class="cx"> #include &quot;SetPrototype.h&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStringObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/StringObject.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/StringObject.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/StringObject.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -22,9 +22,7 @@
</span><span class="cx"> #include &quot;StringObject.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Error.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
</del><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;PropertyNameArray.h&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStructurecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Structure.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Structure.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/Structure.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -27,18 +27,12 @@
</span><span class="cx"> #include &quot;Structure.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><del>-#include &quot;CommonIdentifiers.h&quot;
</del><span class="cx"> #include &quot;DumpContext.h&quot;
</span><del>-#include &quot;JSCellInlines.h&quot;
</del><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> #include &quot;JSPropertyNameIterator.h&quot;
</span><del>-#include &quot;JSStringInlines.h&quot;
</del><span class="cx"> #include &quot;Lookup.h&quot;
</span><del>-#include &quot;PropertyMapHashTable.h&quot;
</del><span class="cx"> #include &quot;PropertyNameArray.h&quot;
</span><del>-#include &quot;SlotVisitorInlines.h&quot;
</del><span class="cx"> #include &quot;StructureChain.h&quot;
</span><del>-#include &quot;StructureInlines.h&quot;
</del><span class="cx"> #include &quot;StructureRareDataInlines.h&quot;
</span><span class="cx"> #include &lt;wtf/CommaPrinter.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCountedLeakCounter.h&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeVMcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/VM.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/VM.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/VM.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include &quot;ArgList.h&quot;
</span><span class="cx"> #include &quot;ArityCheckFailReturnThunks.h&quot;
</span><span class="cx"> #include &quot;ArrayBufferNeuteringWatchpoint.h&quot;
</span><del>-#include &quot;BuiltinExecutables.h&quot;
</del><span class="cx"> #include &quot;CallFrameInlines.h&quot;
</span><span class="cx"> #include &quot;CodeBlock.h&quot;
</span><span class="cx"> #include &quot;CodeCache.h&quot;
</span><span class="lines">@@ -56,9 +55,7 @@
</span><span class="cx"> #include &quot;JSAPIValueWrapper.h&quot;
</span><span class="cx"> #include &quot;JSActivation.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><del>-#include &quot;JSCJSValueInlines.h&quot;
-#include &quot;JSCellInlines.h&quot;
-#include &quot;JSFunctionInlines.h&quot;
</del><ins>+#include &quot;JSFunction.h&quot;
</ins><span class="cx"> #include &quot;JSGlobalObjectFunctions.h&quot;
</span><span class="cx"> #include &quot;JSLock.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><span class="lines">@@ -71,16 +68,13 @@
</span><span class="cx"> #include &quot;Lookup.h&quot;
</span><span class="cx"> #include &quot;MapData.h&quot;
</span><span class="cx"> #include &quot;Nodes.h&quot;
</span><del>-#include &quot;Parser.h&quot;
</del><span class="cx"> #include &quot;ParserArena.h&quot;
</span><del>-#include &quot;PropertyMapHashTable.h&quot;
</del><span class="cx"> #include &quot;RegExpCache.h&quot;
</span><span class="cx"> #include &quot;RegExpObject.h&quot;
</span><span class="cx"> #include &quot;SimpleTypedArrayController.h&quot;
</span><span class="cx"> #include &quot;SourceProviderCache.h&quot;
</span><span class="cx"> #include &quot;StrictEvalActivation.h&quot;
</span><span class="cx"> #include &quot;StrongInlines.h&quot;
</span><del>-#include &quot;StructureInlines.h&quot;
</del><span class="cx"> #include &quot;UnlinkedCodeBlock.h&quot;
</span><span class="cx"> #include &quot;WeakMapData.h&quot;
</span><span class="cx"> #include &lt;wtf/ProcessID.h&gt;
</span><span class="lines">@@ -232,7 +226,6 @@
</span><span class="cx">     , m_inDefineOwnProperty(false)
</span><span class="cx">     , m_codeCache(CodeCache::create())
</span><span class="cx">     , m_enabledProfiler(nullptr)
</span><del>-    , m_builtinExecutables(BuiltinExecutables::create(*this))
</del><span class="cx"> {
</span><span class="cx">     interpreter = new Interpreter(*this);
</span><span class="cx">     StackBounds stack = wtfThreadData().stack();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeVMh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/VM.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/VM.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/JavaScriptCore/runtime/VM.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> #include &quot;PrivateName.h&quot;
</span><span class="cx"> #include &quot;PrototypeMap.h&quot;
</span><span class="cx"> #include &quot;SmallStrings.h&quot;
</span><del>-#include &quot;SourceCode.h&quot;
</del><span class="cx"> #include &quot;Strong.h&quot;
</span><span class="cx"> #include &quot;ThunkGenerators.h&quot;
</span><span class="cx"> #include &quot;TypedArrayController.h&quot;
</span><span class="lines">@@ -70,7 +69,6 @@
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx">     class ArityCheckFailReturnThunks;
</span><del>-    class BuiltinExecutables;
</del><span class="cx">     class CodeBlock;
</span><span class="cx">     class CodeCache;
</span><span class="cx">     class CommonIdentifiers;
</span><span class="lines">@@ -499,8 +497,6 @@
</span><span class="cx">         void registerWatchpointForImpureProperty(const Identifier&amp;, Watchpoint*);
</span><span class="cx">         // FIXME: Use AtomicString once it got merged with Identifier.
</span><span class="cx">         JS_EXPORT_PRIVATE void addImpureProperty(const String&amp;);
</span><del>-        
-        BuiltinExecutables* builtinExecutables() { return m_builtinExecutables.get(); }
</del><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         friend class LLIntOffsetsExtractor;
</span><span class="lines">@@ -541,9 +537,10 @@
</span><span class="cx">         JSValue m_exception;
</span><span class="cx">         bool m_inDefineOwnProperty;
</span><span class="cx">         OwnPtr&lt;CodeCache&gt; m_codeCache;
</span><del>-        LegacyProfiler* m_enabledProfiler;
-        OwnPtr&lt;BuiltinExecutables&gt; m_builtinExecutables;
</del><span class="cx">         RefCountedArray&lt;StackFrame&gt; m_exceptionStack;
</span><ins>+
+        LegacyProfiler* m_enabledProfiler;
+
</ins><span class="cx">         HashMap&lt;String, RefPtr&lt;WatchpointSet&gt;&gt; m_impurePropertyWatchpointSets;
</span><span class="cx">     };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -101,7 +101,6 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/API&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/assembler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecode&quot;
</span><del>-    &quot;${JAVASCRIPTCORE_DIR}/builtins&quot;
</del><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecompiler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/dfg&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/disassembler&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * CMakeLists.txt:
+        * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
+        * Modules/plugins/QuickTimePluginReplacement.cpp:
+        * bindings/js/JSIDBAnyCustom.cpp:
+        * bindings/js/JSIDBDatabaseCustom.cpp:
+        * bindings/js/JSIDBObjectStoreCustom.cpp:
+        * bindings/js/JSNodeFilterCondition.cpp:
+
</ins><span class="cx"> 2014-01-31  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Even when in fixed layout mode, some platforms need to do layout after a viewport change
</span></span></pre></div>
<a id="trunkSourceWebCoreForwardingHeadersruntimeJSStringInlinesh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/ForwardingHeaders/runtime/JSStringInlines.h (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ForwardingHeaders/runtime/JSStringInlines.h        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/ForwardingHeaders/runtime/JSStringInlines.h        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,4 +0,0 @@
</span><del>-#ifndef WebCore_FWD_JSStringInlines_h
-#define WebCore_FWD_JSStringInlines_h
-#include &lt;JavaScriptCore/JSStringInlines.h&gt;
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> #include &lt;JavaScriptCore/APICast.h&gt;
</span><span class="cx"> #include &lt;JavaScriptCore/JSBase.h&gt;
</span><span class="cx"> #include &lt;JavaScriptCore/JSCJSValueInlines.h&gt;
</span><del>-#include &lt;JavaScriptCore/JSStringInlines.h&gt;
</del><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBAnyCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -47,7 +47,6 @@
</span><span class="cx"> #include &quot;JSIDBObjectStore.h&quot;
</span><span class="cx"> #include &quot;JSIDBTransaction.h&quot;
</span><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><del>-#include &lt;runtime/JSStringInlines.h&gt;
</del><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBDatabaseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> #include &quot;IDBObjectStore.h&quot;
</span><span class="cx"> #include &quot;JSIDBObjectStore.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><del>-#include &lt;runtime/JSStringInlines.h&gt;
</del><ins>+#include &lt;runtime/JSString.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBObjectStoreCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> #include &quot;IDBObjectStore.h&quot;
</span><span class="cx"> #include &quot;JSIDBIndex.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><del>-#include &lt;runtime/JSStringInlines.h&gt;
</del><ins>+#include &lt;runtime/JSString.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeFilterConditioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeFilterCondition.cpp (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeFilterCondition.cpp        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebCore/bindings/js/JSNodeFilterCondition.cpp        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include &quot;NodeFilter.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><del>-#include &lt;runtime/JSStringInlines.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebKit/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -66,7 +66,6 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/API&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/assembler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecode&quot;
</span><del>-    &quot;${JAVASCRIPTCORE_DIR}/builtins&quot;
</del><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecompiler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/disassembler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/dfg&quot;
</span><span class="lines">@@ -79,7 +78,6 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/profiler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/runtime&quot;
</span><span class="cx">     &quot;${WTF_DIR}&quot;
</span><del>-    &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot;
</del><span class="cx">     &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot;
</span><span class="cx">     &quot;${DERIVED_SOURCES_DIR}/ForwardingHeaders&quot;
</span><span class="cx">     &quot;${CMAKE_BINARY_DIR}&quot;
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebKit/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,9 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * CMakeLists.txt:
+
</ins><span class="cx"> 2014-01-29  Oliver Hunt  &lt;oliver@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Make it possible to implement JS builtins in JS
</span></span></pre></div>
<a id="trunkSourceWebKit2CMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebKit2/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -121,7 +121,6 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/API&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/assembler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecode&quot;
</span><del>-    &quot;${JAVASCRIPTCORE_DIR}/builtins&quot;
</del><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/bytecompiler&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/collector/handles&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/dfg&quot;
</span><span class="lines">@@ -134,7 +133,6 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/runtime&quot;
</span><span class="cx">     &quot;${WTF_DIR}&quot;
</span><span class="cx">     &quot;${DERIVED_SOURCES_DIR}&quot;
</span><del>-    &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot;
</del><span class="cx">     &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot;
</span><span class="cx">     &quot;${DERIVED_SOURCES_WEBKIT2_DIR}&quot;
</span><span class="cx">     &quot;${DERIVED_SOURCES_WEBKIT2_DIR}/include&quot;
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/WebKit2/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,9 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * CMakeLists.txt:
+
</ins><span class="cx"> 2014-01-31  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
</span></span></pre></div>
<a id="trunkSourcecmakegtestCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/gtest/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/gtest/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Source/cmake/gtest/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -6,7 +6,6 @@
</span><span class="cx"> include_directories(${THIRDPARTY_DIR}/gtest
</span><span class="cx">     ${THIRDPARTY_DIR}/gtest/include
</span><span class="cx">     ${JAVASCRIPTCORE_DIR}
</span><del>-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}
</del><span class="cx">     ${WTF_DIR}
</span><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Tools/ChangeLog        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -1,3 +1,11 @@
</span><ins>+2014-01-31  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Rollout r163195 and related patches
+
+        * DumpRenderTree/CMakeLists.txt:
+        * WebKitTestRunner/CMakeLists.txt:
+        * WinCELauncher/CMakeLists.txt:
+
</ins><span class="cx"> 2014-01-31  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Attempt to fix Production Dashboard after &lt;http://trac.webkit.org/changeset/163213&gt;
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreeCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Tools/DumpRenderTree/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -58,7 +58,6 @@
</span><span class="cx">     ${JAVASCRIPTCORE_DIR}/profiler
</span><span class="cx">     ${JAVASCRIPTCORE_DIR}/runtime
</span><span class="cx">     ${JAVASCRIPTCORE_DIR}/ForwardingHeaders
</span><del>-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}
</del><span class="cx">     ${TOOLS_DIR}/DumpRenderTree
</span><span class="cx">     ${WTF_DIR}
</span><span class="cx">     ${CMAKE_SOURCE_DIR}/Source
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Tools/WebKitTestRunner/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx">     ${WEBKIT_TESTRUNNER_DIR}/InjectedBundle/atk
</span><span class="cx">     ${JAVASCRIPTCORE_DIR}
</span><span class="cx">     ${JAVASCRIPTCORE_DIR}/ForwardingHeaders
</span><del>-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}
</del><span class="cx">     ${WEBCORE_DIR}/editing
</span><span class="cx">     ${WEBCORE_DIR}/platform
</span><span class="cx">     ${WEBCORE_DIR}/platform/graphics
</span></span></pre></div>
<a id="trunkToolsWinCELauncherCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinCELauncher/CMakeLists.txt (163224 => 163225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinCELauncher/CMakeLists.txt        2014-02-01 01:28:26 UTC (rev 163224)
+++ trunk/Tools/WinCELauncher/CMakeLists.txt        2014-02-01 01:37:59 UTC (rev 163225)
</span><span class="lines">@@ -6,7 +6,6 @@
</span><span class="cx">     &quot;${WEBCORE_DIR}/platform/network&quot;
</span><span class="cx">     &quot;${WEBCORE_DIR}/platform/text&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}&quot;
</span><del>-    &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot;
</del><span class="cx">     &quot;${WTF_DIR}&quot;
</span><span class="cx">     &quot;${DERIVED_SOURCES_DIR}&quot;
</span><span class="cx">     &quot;${CMAKE_BINARY_DIR}&quot;
</span></span></pre>
</div>
</div>

</body>
</html>