<!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>[165497] 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/165497">165497</a></dd>
<dt>Author</dt> <dd>jer.noble@apple.com</dd>
<dt>Date</dt> <dd>2014-03-12 14:02:02 -0700 (Wed, 12 Mar 2014)</dd>
</dl>

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

Broke the windows build; &quot;error C2466: cannot allocate an
array of constant size 0&quot; (Requested by jernoble on #webkit).

Reverted changeset:

&quot;Reduce memory use for static property maps&quot;
https://bugs.webkit.org/show_bug.cgi?id=129986
http://trac.webkit.org/changeset/165482

Source/JavaScriptCore:

Patch by Commit Queue &lt;commit-queue@webkit.org&gt; on 2014-03-12

Source/WebCore:

Patch by Commit Queue &lt;commit-queue@webkit.org&gt; on 2014-03-12

LayoutTests:

Patch by Commit Queue &lt;commit-queue@webkit.org&gt; on 2014-03-12</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsinspectorprotocoldebuggersetPauseOnExceptionsallexpectedtxt">trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectorprotocoldebuggersetPauseOnExceptionsnoneexpectedtxt">trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectorprotocoldebuggersetPauseOnExceptionsuncaughtexpectedtxt">trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsdomdomstaticpropertyforiniterationexpectedtxt">trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorecreate_hash_table">trunk/Source/JavaScriptCore/create_hash_table</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="#trunkSourceJavaScriptCoreruntimeClassInfoh">trunk/Source/JavaScriptCore/runtime/ClassInfo.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="#trunkSourceJavaScriptCoreruntimeLookupcpp">trunk/Source/JavaScriptCore/runtime/Lookup.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeLookuph">trunk/Source/JavaScriptCore/runtime/Lookup.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingh">trunk/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHistoryCustomcpp">trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSLocationCustomcpp">trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/LayoutTests/ChangeLog        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-03-12  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r165482.
+        https://bugs.webkit.org/show_bug.cgi?id=130157
+
+        Broke the windows build; &quot;error C2466: cannot allocate an
+        array of constant size 0&quot; (Requested by jernoble on #webkit).
+
+        Reverted changeset:
+
+        &quot;Reduce memory use for static property maps&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=129986
+        http://trac.webkit.org/changeset/165482
+
</ins><span class="cx"> 2014-03-12  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Have the scrolling tree track the viewport size, not the viewport rect
</span></span></pre></div>
<a id="trunkLayoutTestsinspectorprotocoldebuggersetPauseOnExceptionsallexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> CONSOLE MESSAGE: line 1: caught inline: {&quot;line&quot;:1,&quot;column&quot;:36}
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:3,&quot;column&quot;:11,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span><del>-CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</del><ins>+CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</ins><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception in host function&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception string&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:18,&quot;column&quot;:12,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span></span></pre></div>
<a id="trunkLayoutTestsinspectorprotocoldebuggersetPauseOnExceptionsnoneexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> CONSOLE MESSAGE: line 1: caught inline: {&quot;line&quot;:1,&quot;column&quot;:36}
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:3,&quot;column&quot;:11,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span><del>-CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</del><ins>+CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</ins><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception in host function&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception string&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:18,&quot;column&quot;:12,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span></span></pre></div>
<a id="trunkLayoutTestsinspectorprotocoldebuggersetPauseOnExceptionsuncaughtexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> CONSOLE MESSAGE: line 1: caught inline: {&quot;line&quot;:1,&quot;column&quot;:36}
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:3,&quot;column&quot;:11,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span><del>-CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</del><ins>+CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</ins><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception in host function&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception string&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:18,&quot;column&quot;:12,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span><span class="lines">@@ -13,7 +13,7 @@
</span><span class="cx"> CONSOLE MESSAGE: line 18: Error: error message
</span><span class="cx"> CONSOLE MESSAGE: line 1: caught inline: {&quot;line&quot;:1,&quot;column&quot;:36}
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:3,&quot;column&quot;:11,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span><del>-CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</del><ins>+CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;code&quot;:8,&quot;message&quot;:&quot;NotFoundError: DOM Exception 8&quot;,&quot;name&quot;:&quot;NotFoundError&quot;,&quot;line&quot;:8,&quot;column&quot;:30,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</ins><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception in host function&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: &quot;exception string&quot;
</span><span class="cx"> CONSOLE MESSAGE: line 38: catchNested caught exception: {&quot;line&quot;:18,&quot;column&quot;:12,&quot;sourceURL&quot;:&quot;exception.js&quot;}
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomdomstaticpropertyforiniterationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -9,102 +9,102 @@
</span><span class="cx"> PASS a[&quot;hick&quot;] is 4
</span><span class="cx"> PASS a[&quot;hock&quot;] is 5
</span><span class="cx"> PASS a[&quot;snood&quot;] is 6
</span><del>-PASS a[&quot;charset&quot;] is 
-PASS a[&quot;coords&quot;] is 
</del><ins>+PASS a[&quot;origin&quot;] is file://
+PASS a[&quot;hash&quot;] is 
+PASS a[&quot;search&quot;] is 
+PASS a[&quot;text&quot;] is nerget
+PASS a[&quot;hostname&quot;] is 
+PASS a[&quot;rel&quot;] is 
</ins><span class="cx"> PASS a[&quot;hreflang&quot;] is 
</span><del>-PASS a[&quot;name&quot;] is 
</del><span class="cx"> PASS a[&quot;ping&quot;] is 
</span><del>-PASS a[&quot;rel&quot;] is 
</del><span class="cx"> PASS a[&quot;rev&quot;] is 
</span><del>-PASS a[&quot;shape&quot;] is 
</del><ins>+PASS a[&quot;host&quot;] is 
+PASS a[&quot;charset&quot;] is 
</ins><span class="cx"> PASS a[&quot;target&quot;] is 
</span><span class="cx"> PASS a[&quot;type&quot;] is 
</span><del>-PASS a[&quot;hash&quot;] is 
-PASS a[&quot;host&quot;] is 
-PASS a[&quot;hostname&quot;] is 
</del><ins>+PASS a[&quot;coords&quot;] is 
+PASS a[&quot;name&quot;] is 
+PASS a[&quot;shape&quot;] is 
</ins><span class="cx"> PASS a[&quot;port&quot;] is 
</span><span class="cx"> PASS a[&quot;protocol&quot;] is file:
</span><del>-PASS a[&quot;search&quot;] is 
-PASS a[&quot;origin&quot;] is file://
-PASS a[&quot;text&quot;] is nerget
</del><ins>+PASS a[&quot;outerHTML&quot;] is &lt;a id=&quot;foo&quot; href=&quot;bar&quot;&gt;nerget&lt;/a&gt;
+PASS a[&quot;spellcheck&quot;] is true
+PASS a[&quot;webkitdropzone&quot;] is 
</ins><span class="cx"> PASS a[&quot;title&quot;] is 
</span><span class="cx"> PASS a[&quot;lang&quot;] is 
</span><span class="cx"> PASS a[&quot;translate&quot;] is true
</span><ins>+PASS a[&quot;hidden&quot;] is false
+PASS a[&quot;innerText&quot;] is nerget
</ins><span class="cx"> PASS a[&quot;dir&quot;] is 
</span><ins>+PASS a[&quot;innerHTML&quot;] is nerget
+PASS a[&quot;contentEditable&quot;] is inherit
</ins><span class="cx"> PASS a[&quot;tabIndex&quot;] is 0
</span><span class="cx"> PASS a[&quot;draggable&quot;] is true
</span><del>-PASS a[&quot;webkitdropzone&quot;] is 
-PASS a[&quot;hidden&quot;] is false
</del><ins>+PASS a[&quot;outerText&quot;] is nerget
</ins><span class="cx"> PASS a[&quot;accessKey&quot;] is 
</span><del>-PASS a[&quot;innerHTML&quot;] is nerget
-PASS a[&quot;innerText&quot;] is nerget
-PASS a[&quot;outerHTML&quot;] is &lt;a id=&quot;foo&quot; href=&quot;bar&quot;&gt;nerget&lt;/a&gt;
-PASS a[&quot;outerText&quot;] is nerget
</del><span class="cx"> PASS a[&quot;children&quot;] is [object HTMLCollection]
</span><del>-PASS a[&quot;contentEditable&quot;] is inherit
</del><span class="cx"> PASS a[&quot;isContentEditable&quot;] is false
</span><del>-PASS a[&quot;spellcheck&quot;] is true
-PASS a[&quot;tagName&quot;] is A
-PASS a[&quot;attributes&quot;] is [object NamedNodeMap]
</del><span class="cx"> PASS a[&quot;style&quot;] is [object CSSStyleDeclaration]
</span><span class="cx"> PASS a[&quot;id&quot;] is foo
</span><del>-PASS a[&quot;offsetLeft&quot;] is 8
-PASS a[&quot;offsetTop&quot;] is 774
-PASS a[&quot;offsetWidth&quot;] is 39
-PASS a[&quot;offsetHeight&quot;] is 18
-PASS a[&quot;offsetParent&quot;] is [object HTMLBodyElement]
-PASS a[&quot;clientLeft&quot;] is 0
-PASS a[&quot;clientTop&quot;] is 0
</del><ins>+PASS a[&quot;dataset&quot;] is [object DOMStringMap]
</ins><span class="cx"> PASS a[&quot;clientWidth&quot;] is 0
</span><del>-PASS a[&quot;clientHeight&quot;] is 0
-PASS a[&quot;scrollLeft&quot;] is 0
-PASS a[&quot;scrollTop&quot;] is 0
</del><span class="cx"> PASS a[&quot;scrollWidth&quot;] is 0
</span><del>-PASS a[&quot;scrollHeight&quot;] is 0
</del><ins>+PASS a[&quot;attributes&quot;] is [object NamedNodeMap]
+PASS a[&quot;webkitRegionOverset&quot;] is undefined
+PASS a[&quot;ALLOW_KEYBOARD_INPUT&quot;] is 1
+PASS a[&quot;offsetWidth&quot;] is 39
+PASS a[&quot;classList&quot;] is 
+PASS a[&quot;offsetLeft&quot;] is 8
</ins><span class="cx"> PASS a[&quot;className&quot;] is 
</span><del>-PASS a[&quot;classList&quot;] is 
-PASS a[&quot;dataset&quot;] is [object DOMStringMap]
-PASS a[&quot;firstElementChild&quot;] is null
</del><ins>+PASS a[&quot;clientTop&quot;] is 0
</ins><span class="cx"> PASS a[&quot;lastElementChild&quot;] is null
</span><ins>+PASS a[&quot;offsetParent&quot;] is [object HTMLBodyElement]
+PASS a[&quot;nextElementSibling&quot;] is [object HTMLScriptElement]
+PASS a[&quot;tagName&quot;] is A
</ins><span class="cx"> PASS a[&quot;previousElementSibling&quot;] is [object HTMLDivElement]
</span><del>-PASS a[&quot;nextElementSibling&quot;] is [object HTMLScriptElement]
</del><span class="cx"> PASS a[&quot;childElementCount&quot;] is 0
</span><ins>+PASS a[&quot;scrollLeft&quot;] is 0
+PASS a[&quot;firstElementChild&quot;] is null
</ins><span class="cx"> PASS a[&quot;uiactions&quot;] is 
</span><del>-PASS a[&quot;webkitRegionOverset&quot;] is undefined
-PASS a[&quot;ALLOW_KEYBOARD_INPUT&quot;] is 1
-PASS a[&quot;nodeName&quot;] is A
</del><ins>+PASS a[&quot;clientLeft&quot;] is 0
+PASS a[&quot;offsetHeight&quot;] is 18
+PASS a[&quot;clientHeight&quot;] is 0
+PASS a[&quot;offsetTop&quot;] is 1074
+PASS a[&quot;scrollTop&quot;] is 0
+PASS a[&quot;scrollHeight&quot;] is 0
+PASS a[&quot;previousSibling&quot;] is [object Text]
+PASS a[&quot;NOTATION_NODE&quot;] is 12
+PASS a[&quot;CDATA_SECTION_NODE&quot;] is 4
+PASS a[&quot;lastChild&quot;] is [object Text]
+PASS a[&quot;ELEMENT_NODE&quot;] is 1
</ins><span class="cx"> PASS a[&quot;nodeValue&quot;] is null
</span><ins>+PASS a[&quot;DOCUMENT_POSITION_DISCONNECTED&quot;] is 1
+PASS a[&quot;ENTITY_NODE&quot;] is 6
+PASS a[&quot;TEXT_NODE&quot;] is 3
+PASS a[&quot;ENTITY_REFERENCE_NODE&quot;] is 5
+PASS a[&quot;textContent&quot;] is nerget
</ins><span class="cx"> PASS a[&quot;nodeType&quot;] is 1
</span><ins>+PASS a[&quot;DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC&quot;] is 32
+PASS a[&quot;ownerDocument&quot;] is [object HTMLDocument]
+PASS a[&quot;PROCESSING_INSTRUCTION_NODE&quot;] is 7
+PASS a[&quot;localName&quot;] is a
</ins><span class="cx"> PASS a[&quot;parentNode&quot;] is [object HTMLBodyElement]
</span><ins>+PASS a[&quot;firstChild&quot;] is [object Text]
+PASS a[&quot;DOCUMENT_POSITION_PRECEDING&quot;] is 2
+PASS a[&quot;DOCUMENT_TYPE_NODE&quot;] is 10
+PASS a[&quot;COMMENT_NODE&quot;] is 8
+PASS a[&quot;nodeName&quot;] is A
+PASS a[&quot;DOCUMENT_POSITION_FOLLOWING&quot;] is 4
+PASS a[&quot;prefix&quot;] is null
</ins><span class="cx"> PASS a[&quot;childNodes&quot;] is [object NodeList]
</span><del>-PASS a[&quot;firstChild&quot;] is [object Text]
-PASS a[&quot;lastChild&quot;] is [object Text]
-PASS a[&quot;previousSibling&quot;] is [object Text]
</del><span class="cx"> PASS a[&quot;nextSibling&quot;] is [object Text]
</span><del>-PASS a[&quot;ownerDocument&quot;] is [object HTMLDocument]
</del><ins>+PASS a[&quot;ATTRIBUTE_NODE&quot;] is 2
+PASS a[&quot;DOCUMENT_POSITION_CONTAINED_BY&quot;] is 16
</ins><span class="cx"> PASS a[&quot;namespaceURI&quot;] is http://www.w3.org/1999/xhtml
</span><del>-PASS a[&quot;prefix&quot;] is null
-PASS a[&quot;localName&quot;] is a
-PASS a[&quot;textContent&quot;] is nerget
</del><span class="cx"> PASS a[&quot;parentElement&quot;] is [object HTMLBodyElement]
</span><del>-PASS a[&quot;ELEMENT_NODE&quot;] is 1
-PASS a[&quot;ATTRIBUTE_NODE&quot;] is 2
-PASS a[&quot;TEXT_NODE&quot;] is 3
-PASS a[&quot;CDATA_SECTION_NODE&quot;] is 4
-PASS a[&quot;ENTITY_REFERENCE_NODE&quot;] is 5
-PASS a[&quot;ENTITY_NODE&quot;] is 6
-PASS a[&quot;PROCESSING_INSTRUCTION_NODE&quot;] is 7
-PASS a[&quot;COMMENT_NODE&quot;] is 8
</del><span class="cx"> PASS a[&quot;DOCUMENT_NODE&quot;] is 9
</span><del>-PASS a[&quot;DOCUMENT_TYPE_NODE&quot;] is 10
</del><span class="cx"> PASS a[&quot;DOCUMENT_FRAGMENT_NODE&quot;] is 11
</span><del>-PASS a[&quot;NOTATION_NODE&quot;] is 12
-PASS a[&quot;DOCUMENT_POSITION_DISCONNECTED&quot;] is 1
-PASS a[&quot;DOCUMENT_POSITION_PRECEDING&quot;] is 2
-PASS a[&quot;DOCUMENT_POSITION_FOLLOWING&quot;] is 4
</del><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_CONTAINS&quot;] is 8
</span><del>-PASS a[&quot;DOCUMENT_POSITION_CONTAINED_BY&quot;] is 16
-PASS a[&quot;DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC&quot;] is 32
</del><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-03-12  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r165482.
+        https://bugs.webkit.org/show_bug.cgi?id=130157
+
+        Broke the windows build; &quot;error C2466: cannot allocate an
+        array of constant size 0&quot; (Requested by jernoble on #webkit).
+
+        Reverted changeset:
+
+        &quot;Reduce memory use for static property maps&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=129986
+        http://trac.webkit.org/changeset/165482
+
</ins><span class="cx"> 2014-03-12  Mark Hahnenberg  &lt;mhahnenberg@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove HandleSet::m_nextToFinalize
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorecreate_hash_table"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/create_hash_table (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/create_hash_table        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/create_hash_table        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -41,8 +41,6 @@
</span><span class="cx"> my @attrs = ();
</span><span class="cx"> my @values = ();
</span><span class="cx"> my @hashes = ();
</span><del>-my @table = ();
-my @links = ();
</del><span class="cx"> 
</span><span class="cx"> my $hasSetter = &quot;false&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -78,8 +76,6 @@
</span><span class="cx">         @attrs = ();
</span><span class="cx">         @values = ();
</span><span class="cx">         @hashes = ();
</span><del>-        @table = ();
-        @links = ();
</del><span class="cx"> 
</span><span class="cx">         $inside = 0;
</span><span class="cx">     } elsif (/^(\S+)\s*(\S+)\s*([\w\|]*)\s*(\w*)\s*$/ &amp;&amp; $inside) {
</span><span class="lines">@@ -159,6 +155,8 @@
</span><span class="cx"> 
</span><span class="cx"> sub calcCompactHashSize()
</span><span class="cx"> {
</span><ins>+    my @table = ();
+    my @links = ();
</ins><span class="cx">     my $compactHashSize = ceilingToPowerOf2(2 * @keys);
</span><span class="cx">     $compactHashSizeMask = $compactHashSize - 1;
</span><span class="cx">     $compactSize = $compactHashSize;
</span><span class="lines">@@ -249,8 +247,6 @@
</span><span class="cx"> 
</span><span class="cx">     my $nameEntries = &quot;${name}Values&quot;;
</span><span class="cx">     $nameEntries =~ s/:/_/g;
</span><del>-    my $nameIndex = &quot;${name}Index&quot;;
-    $nameIndex =~ s/:/_/g;
</del><span class="cx"> 
</span><span class="cx">     print &quot;\n#include \&quot;JSCBuiltins.h\&quot;\n&quot;;
</span><span class="cx">     print &quot;\n#include \&quot;Lookup.h\&quot;\n&quot; if ($includelookup);
</span><span class="lines">@@ -261,19 +257,8 @@
</span><span class="cx">     } else {
</span><span class="cx">         print &quot;\nnamespace JSC {\n&quot;;
</span><span class="cx">     }
</span><del>-
-    print &quot;\nstatic const struct CompactHashIndex ${nameIndex}\[$compactSize\] = {\n&quot;;
-    for (my $i = 0; $i &lt; $compactSize; $i++) {
-        my $T = -1;
-        if (defined($table[$i])) { $T = $table[$i]; }
-        my $L = -1;
-        if (defined($links[$i])) { $L = $links[$i]; }
-        print &quot;    { $T, $L },\n&quot;;
-    }
-    print &quot;};\n\n&quot;;
-
-    my $packedSize = scalar @keys;
-    print &quot;\nstatic const struct HashTableValue ${nameEntries}\[$packedSize\] = {\n&quot;;
</del><ins>+    my $count = scalar @keys + 1;
+    print &quot;\nstatic const struct HashTableValue ${nameEntries}\[$count\] = {\n&quot;;
</ins><span class="cx">     my $i = 0;
</span><span class="cx">     foreach my $key (@keys) {
</span><span class="cx">         my $firstValue = &quot;&quot;;
</span><span class="lines">@@ -319,8 +304,9 @@
</span><span class="cx">         }
</span><span class="cx">         $i++;
</span><span class="cx">     }
</span><ins>+    print &quot;   { 0, 0, NoIntrinsic, 0, 0 }\n&quot;;
</ins><span class="cx">     print &quot;};\n\n&quot;;
</span><span class="cx">     print &quot;extern const struct HashTable $name =\n&quot;;
</span><del>-    print &quot;    \{ $packedSize, $compactHashSizeMask, $hasSetter, $nameEntries, 0, $nameIndex \};\n&quot;;
</del><ins>+    print &quot;    \{ $compactSize, $compactHashSizeMask, $hasSetter, $nameEntries, 0 \};\n&quot;;
</ins><span class="cx">     print &quot;} // namespace\n&quot;;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserLexercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Lexer.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Lexer.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/parser/Lexer.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -829,7 +829,7 @@
</span><span class="cx">     if (UNLIKELY((remaining &lt; maxTokenLength) &amp;&amp; !(lexerFlags &amp; LexerFlagsIgnoreReservedWords)) &amp;&amp; !isPrivateName) {
</span><span class="cx">         ASSERT(shouldCreateIdentifier);
</span><span class="cx">         if (remaining &lt; maxTokenLength) {
</span><del>-            const HashTableValue* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</del><ins>+            const HashEntry* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</ins><span class="cx">             ASSERT((remaining &lt; maxTokenLength) || !entry);
</span><span class="cx">             if (!entry)
</span><span class="cx">                 return IDENT;
</span><span class="lines">@@ -906,7 +906,7 @@
</span><span class="cx">     if (UNLIKELY((remaining &lt; maxTokenLength) &amp;&amp; !(lexerFlags &amp; LexerFlagsIgnoreReservedWords)) &amp;&amp; !isPrivateName) {
</span><span class="cx">         ASSERT(shouldCreateIdentifier);
</span><span class="cx">         if (remaining &lt; maxTokenLength) {
</span><del>-            const HashTableValue* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</del><ins>+            const HashEntry* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</ins><span class="cx">             ASSERT((remaining &lt; maxTokenLength) || !entry);
</span><span class="cx">             if (!entry)
</span><span class="cx">                 return IDENT;
</span><span class="lines">@@ -973,7 +973,7 @@
</span><span class="cx">         ASSERT(shouldCreateIdentifier);
</span><span class="cx">         // Keywords must not be recognized if there was an \uXXXX in the identifier.
</span><span class="cx">         if (remaining &lt; maxTokenLength) {
</span><del>-            const HashTableValue* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</del><ins>+            const HashEntry* entry = m_vm-&gt;keywords-&gt;getKeyword(*ident);
</ins><span class="cx">             ASSERT((remaining &lt; maxTokenLength) || !entry);
</span><span class="cx">             if (!entry)
</span><span class="cx">                 return IDENT;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserLexerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Lexer.h (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Lexer.h        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/parser/Lexer.h        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">         return m_keywordTable.entry(m_vm, ident);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    const HashTableValue* getKeyword(const Identifier&amp; ident) const
</del><ins>+    const HashEntry* getKeyword(const Identifier&amp; ident) const
</ins><span class="cx">     {
</span><span class="cx">         return m_keywordTable.entry(m_vm, ident);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeClassInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ClassInfo.h (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ClassInfo.h        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/runtime/ClassInfo.h        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><ins>+class HashEntry;
</ins><span class="cx"> class JSArrayBufferView;
</span><span class="cx"> struct HashTable;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -75,17 +75,19 @@
</span><span class="cx"> 
</span><span class="cx"> static inline void getClassPropertyNames(ExecState* exec, const ClassInfo* classInfo, PropertyNameArray&amp; propertyNames, EnumerationMode mode, bool didReify)
</span><span class="cx"> {
</span><del>-    VM&amp; vm = exec-&gt;vm();
-
</del><span class="cx">     // Add properties from the static hashtables of properties
</span><span class="cx">     for (; classInfo; classInfo = classInfo-&gt;parentClass) {
</span><del>-        const HashTable* table = classInfo-&gt;propHashTable(vm);
</del><ins>+        const HashTable* table = classInfo-&gt;propHashTable(exec);
</ins><span class="cx">         if (!table)
</span><span class="cx">             continue;
</span><ins>+        table-&gt;initializeIfNeeded(exec);
+        ASSERT(table-&gt;table);
</ins><span class="cx"> 
</span><del>-        for (auto iter = table-&gt;begin(vm); iter != table-&gt;end(vm); ++iter) {
-            if ((!(iter-&gt;attributes() &amp; DontEnum) || (mode == IncludeDontEnumProperties)) &amp;&amp; !((iter-&gt;attributes() &amp; BuiltinOrFunction) &amp;&amp; didReify))
-                propertyNames.add(iter.key());
</del><ins>+        int hashSizeMask = table-&gt;compactSize - 1;
+        const HashEntry* entry = table-&gt;table;
+        for (int i = 0; i &lt;= hashSizeMask; ++i, ++entry) {
+            if (entry-&gt;key() &amp;&amp; (!(entry-&gt;attributes() &amp; DontEnum) || (mode == IncludeDontEnumProperties)) &amp;&amp; !((entry-&gt;attributes() &amp; BuiltinOrFunction) &amp;&amp; didReify))
+                propertyNames.add(entry-&gt;key());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -394,7 +396,7 @@
</span><span class="cx">         }
</span><span class="cx">         const ClassInfo* info = obj-&gt;classInfo();
</span><span class="cx">         if (info-&gt;hasStaticSetterOrReadonlyProperties(vm)) {
</span><del>-            if (const HashTableValue* entry = obj-&gt;findPropertyHashEntry(vm, propertyName)) {
</del><ins>+            if (const HashEntry* entry = obj-&gt;findPropertyHashEntry(vm, propertyName)) {
</ins><span class="cx">                 putEntry(exec, entry, obj, propertyName, value, slot);
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="lines">@@ -1271,7 +1273,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Look in the static hashtable of properties
</span><del>-    const HashTableValue* entry = thisObject-&gt;findPropertyHashEntry(vm, propertyName);
</del><ins>+    const HashEntry* entry = thisObject-&gt;findPropertyHashEntry(vm, propertyName);
</ins><span class="cx">     if (entry) {
</span><span class="cx">         if (entry-&gt;attributes() &amp; DontDelete &amp;&amp; !vm.isInDefineOwnProperty())
</span><span class="cx">             return false; // this builtin property can't be deleted
</span><span class="lines">@@ -1399,11 +1401,11 @@
</span><span class="cx">     return exec-&gt;vm().throwException(exec, createTypeError(exec, ASCIILiteral(&quot;No default value&quot;)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const HashTableValue* JSObject::findPropertyHashEntry(VM&amp; vm, PropertyName propertyName) const
</del><ins>+const HashEntry* JSObject::findPropertyHashEntry(VM&amp; vm, PropertyName propertyName) const
</ins><span class="cx"> {
</span><span class="cx">     for (const ClassInfo* info = classInfo(); info; info = info-&gt;parentClass) {
</span><span class="cx">         if (const HashTable* propHashTable = info-&gt;propHashTable(vm)) {
</span><del>-            if (const HashTableValue* entry = propHashTable-&gt;entry(vm, propertyName))
</del><ins>+            if (const HashEntry* entry = propHashTable-&gt;entry(vm, propertyName))
</ins><span class="cx">                 return entry;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1619,13 +1621,13 @@
</span><span class="cx">         setStructure(vm, Structure::toUncacheableDictionaryTransition(vm, structure(vm)));
</span><span class="cx"> 
</span><span class="cx">     for (const ClassInfo* info = classInfo(); info; info = info-&gt;parentClass) {
</span><del>-        const HashTable* hashTable = info-&gt;propHashTable(vm);
</del><ins>+        const HashTable* hashTable = info-&gt;propHashTable(globalObject()-&gt;globalExec());
</ins><span class="cx">         if (!hashTable)
</span><span class="cx">             continue;
</span><span class="cx">         PropertySlot slot(this);
</span><del>-        for (auto iter = hashTable-&gt;begin(vm); iter != hashTable-&gt;end(vm); ++iter) {
</del><ins>+        for (HashTable::ConstIterator iter = hashTable-&gt;begin(vm); iter != hashTable-&gt;end(vm); ++iter) {
</ins><span class="cx">             if (iter-&gt;attributes() &amp; BuiltinOrFunction)
</span><del>-                setUpStaticFunctionSlot(globalObject()-&gt;globalExec(), iter.value(), this, Identifier(&amp;vm, iter.key()), slot);
</del><ins>+                setUpStaticFunctionSlot(globalObject()-&gt;globalExec(), *iter, this, Identifier(&amp;vm, iter-&gt;key()), slot);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.h (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.h        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.h        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -65,6 +65,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class GetterSetter;
</span><ins>+class HashEntry;
</ins><span class="cx"> class InternalFunction;
</span><span class="cx"> class JSFunction;
</span><span class="cx"> class LLIntOffsetsExtractor;
</span><span class="lines">@@ -73,7 +74,6 @@
</span><span class="cx"> class PropertyNameArray;
</span><span class="cx"> class Structure;
</span><span class="cx"> struct HashTable;
</span><del>-struct HashTableValue;
</del><span class="cx"> 
</span><span class="cx"> JS_EXPORT_PRIVATE JSObject* throwTypeError(ExecState*, const String&amp;);
</span><span class="cx"> extern JS_EXPORTDATA const char* StrictModeReadonlyPropertyWriteError;
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     friend class JSCell;
</span><span class="cx">     friend class JSFinalObject;
</span><span class="cx">     friend class MarkedBlock;
</span><del>-    JS_EXPORT_PRIVATE friend bool setUpStaticFunctionSlot(ExecState*, const HashTableValue*, JSObject*, PropertyName, PropertySlot&amp;);
</del><ins>+    JS_EXPORT_PRIVATE friend bool setUpStaticFunctionSlot(ExecState*, const HashEntry*, JSObject*, PropertyName, PropertySlot&amp;);
</ins><span class="cx"> 
</span><span class="cx">     enum PutMode {
</span><span class="cx">         PutModePut,
</span><span class="lines">@@ -952,7 +952,7 @@
</span><span class="cx">     bool inlineGetOwnPropertySlot(ExecState*, VM&amp;, Structure&amp;, PropertyName, PropertySlot&amp;);
</span><span class="cx">     JS_EXPORT_PRIVATE void fillGetterPropertySlot(PropertySlot&amp;, JSValue, unsigned, PropertyOffset);
</span><span class="cx"> 
</span><del>-    const HashTableValue* findPropertyHashEntry(VM&amp;, PropertyName) const;
</del><ins>+    const HashEntry* findPropertyHashEntry(VM&amp;, PropertyName) const;
</ins><span class="cx">         
</span><span class="cx">     void putIndexedDescriptor(ExecState*, SparseArrayEntry*, const PropertyDescriptor&amp;, PropertyDescriptor&amp; old);
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeLookupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Lookup.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Lookup.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/runtime/Lookup.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -28,30 +28,44 @@
</span><span class="cx"> 
</span><span class="cx"> void HashTable::createTable(VM&amp; vm) const
</span><span class="cx"> {
</span><del>-    ASSERT(!keys);
-    keys = new StringImpl*[numberOfValues];
</del><ins>+    ASSERT(!table);
+    int linkIndex = compactHashSizeMask + 1;
+    HashEntry* entries = new HashEntry[compactSize];
+    for (int i = 0; i &lt; compactSize; ++i)
+        entries[i].setKey(0);
+    for (int i = 0; values[i].key; ++i) {
+        StringImpl&amp; identifier = Identifier::add(&amp;vm, values[i].key).leakRef();
+        int hashIndex = identifier.existingHash() &amp; compactHashSizeMask;
+        HashEntry* entry = &amp;entries[hashIndex];
</ins><span class="cx"> 
</span><del>-    for (int i = 0; i &lt; numberOfValues; ++i) {
-        if (values[i].m_key)
-            keys[i] = &amp;Identifier::add(&amp;vm, values[i].m_key).leakRef();
-        else
-            keys[i] = 0;
</del><ins>+        if (entry-&gt;key()) {
+            while (entry-&gt;next()) {
+                entry = entry-&gt;next();
+            }
+            ASSERT(linkIndex &lt; compactSize);
+            entry-&gt;setNext(&amp;entries[linkIndex++]);
+            entry = entry-&gt;next();
+        }
+
+        entry-&gt;initialize(&amp;identifier, values[i].attributes, values[i].value1, values[i].value2, values[i].intrinsic);
</ins><span class="cx">     }
</span><ins>+    table = entries;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HashTable::deleteTable() const
</span><span class="cx"> {
</span><del>-    if (keys) {
-        for (int i = 0; i != numberOfValues; ++i) {
-            if (keys[i])
-                keys[i]-&gt;deref();
</del><ins>+    if (table) {
+        int max = compactSize;
+        for (int i = 0; i != max; ++i) {
+            if (StringImpl* key = table[i].key())
+                key-&gt;deref();
</ins><span class="cx">         }
</span><del>-        delete [] keys;
-        keys = nullptr;
</del><ins>+        delete [] table;
+        table = 0;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool setUpStaticFunctionSlot(ExecState* exec, const HashTableValue* entry, JSObject* thisObj, PropertyName propertyName, PropertySlot&amp; slot)
</del><ins>+bool setUpStaticFunctionSlot(ExecState* exec, const HashEntry* entry, JSObject* thisObj, PropertyName propertyName, PropertySlot&amp; slot)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(thisObj-&gt;globalObject());
</span><span class="cx">     ASSERT(entry-&gt;attributes() &amp; BuiltinOrFunction);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeLookuph"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Lookup.h (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Lookup.h        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/JavaScriptCore/runtime/Lookup.h        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -30,9 +30,13 @@
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><del>-    struct CompactHashIndex {
-        const int16_t value;
-        const int16_t next;
</del><ins>+    // Hash table generated by the create_hash_table script.
+    struct HashTableValue {
+        const char* key; // property name
+        unsigned char attributes; // JSObject attributes
+        Intrinsic intrinsic;
+        intptr_t value1;
+        intptr_t value2;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     // FIXME: There is no reason this get function can't be simpler.
</span><span class="lines">@@ -41,14 +45,22 @@
</span><span class="cx">     typedef PutPropertySlot::PutValueFunc PutFunction;
</span><span class="cx">     typedef FunctionExecutable* (*BuiltinGenerator)(VM&amp;);
</span><span class="cx"> 
</span><del>-    // Hash table generated by the create_hash_table script.
-    struct HashTableValue {
-        const char* m_key; // property name
-        unsigned char m_attributes; // JSObject attributes
-        Intrinsic m_intrinsic;
-        intptr_t m_value1;
-        intptr_t m_value2;
</del><ins>+    class HashEntry {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
+        void initialize(StringImpl* key, unsigned char attributes, intptr_t v1, intptr_t v2, Intrinsic intrinsic)
+        {
+            m_key = key;
+            m_attributes = attributes;
+            m_u.store.value1 = v1;
+            m_u.store.value2 = v2;
+            m_intrinsic = intrinsic;
+            m_next = 0;
+        }
</ins><span class="cx"> 
</span><ins>+        void setKey(StringImpl* key) { m_key = key; }
+        StringImpl* key() const { return m_key; }
+
</ins><span class="cx">         unsigned char attributes() const { return m_attributes; }
</span><span class="cx"> 
</span><span class="cx">         Intrinsic intrinsic() const
</span><span class="lines">@@ -57,55 +69,87 @@
</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 reinterpret_cast&lt;BuiltinGenerator&gt;(m_value1); }
-        NativeFunction function() const { ASSERT(m_attributes &amp; Function); return reinterpret_cast&lt;NativeFunction&gt;(m_value1); }
-        unsigned char functionLength() const { ASSERT(m_attributes &amp; Function); return static_cast&lt;unsigned char&gt;(m_value2); }
</del><ins>+        BuiltinGenerator builtinGenerator() const { ASSERT(m_attributes &amp; Builtin); return m_u.builtinGenerator.generatorValue; }
+        NativeFunction function() const { ASSERT(m_attributes &amp; Function); return m_u.function.functionValue; }
+        unsigned char functionLength() const { ASSERT(m_attributes &amp; Function); return static_cast&lt;unsigned char&gt;(m_u.function.length); }
</ins><span class="cx"> 
</span><del>-        GetFunction propertyGetter() const { ASSERT(!(m_attributes &amp; BuiltinOrFunction)); return reinterpret_cast&lt;GetFunction&gt;(m_value1); }
-        PutFunction propertyPutter() const { ASSERT(!(m_attributes &amp; BuiltinOrFunction)); return reinterpret_cast&lt;PutFunction&gt;(m_value2); }
</del><ins>+        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; }
</ins><span class="cx"> 
</span><del>-        intptr_t lexerValue() const { ASSERT(!m_attributes); return m_value1; }
</del><ins>+        intptr_t lexerValue() const { ASSERT(!m_attributes); return m_u.lexer.value; }
+
+        void setNext(HashEntry *next) { m_next = next; }
+        HashEntry* next() const { return m_next; }
+
+    private:
+        StringImpl* m_key;
+        unsigned char m_attributes; // JSObject attributes
+        Intrinsic m_intrinsic;
+
+        union {
+            struct {
+                intptr_t value1;
+                intptr_t value2;
+            } store;
+            struct {
+                NativeFunction functionValue;
+                intptr_t length; // number of arguments for function
+            } function;
+            struct {
+                BuiltinGenerator generatorValue;
+                intptr_t unused;
+            } builtinGenerator;
+            struct {
+                GetFunction get;
+                PutFunction put;
+            } property;
+            struct {
+                intptr_t value;
+                intptr_t unused;
+            } lexer;
+        } m_u;
+
+        HashEntry* m_next;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     struct HashTable {
</span><span class="cx"> 
</span><del>-        mutable int numberOfValues;
-        int indexMask;
</del><ins>+        int compactSize;
+        int compactHashSizeMask;
</ins><span class="cx">         bool hasSetterOrReadonlyProperties;
</span><span class="cx"> 
</span><span class="cx">         const HashTableValue* values; // Fixed values generated by script.
</span><del>-        mutable StringImpl** keys; // Table allocated at runtime.
-        const CompactHashIndex* index;
</del><ins>+        mutable const HashEntry* table; // Table allocated at runtime.
</ins><span class="cx"> 
</span><span class="cx">         ALWAYS_INLINE HashTable copy() const
</span><span class="cx">         {
</span><span class="cx">             // Don't copy dynamic table since it's thread specific.
</span><del>-            HashTable result = { numberOfValues, indexMask, hasSetterOrReadonlyProperties, values, 0, index };
</del><ins>+            HashTable result = { compactSize, compactHashSizeMask, hasSetterOrReadonlyProperties, values, 0 };
</ins><span class="cx">             return result;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         ALWAYS_INLINE void initializeIfNeeded(VM&amp; vm) const
</span><span class="cx">         {
</span><del>-            if (!keys)
</del><ins>+            if (!table)
</ins><span class="cx">                 createTable(vm);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         ALWAYS_INLINE void initializeIfNeeded(ExecState* exec) const
</span><span class="cx">         {
</span><del>-            if (!keys)
</del><ins>+            if (!table)
</ins><span class="cx">                 createTable(exec-&gt;vm());
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         JS_EXPORT_PRIVATE void deleteTable() const;
</span><span class="cx"> 
</span><span class="cx">         // Find an entry in the table, and return the entry.
</span><del>-        ALWAYS_INLINE const HashTableValue* entry(VM&amp; vm, PropertyName identifier) const
</del><ins>+        ALWAYS_INLINE const HashEntry* entry(VM&amp; vm, PropertyName identifier) const
</ins><span class="cx">         {
</span><span class="cx">             initializeIfNeeded(vm);
</span><span class="cx">             return entry(identifier);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        ALWAYS_INLINE const HashTableValue* entry(ExecState* exec, PropertyName identifier) const
</del><ins>+        ALWAYS_INLINE const HashEntry* entry(ExecState* exec, PropertyName identifier) const
</ins><span class="cx">         {
</span><span class="cx">             initializeIfNeeded(exec);
</span><span class="cx">             return entry(identifier);
</span><span class="lines">@@ -120,21 +164,16 @@
</span><span class="cx">                 skipInvalidKeys();
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            const HashTableValue* value()
</del><ins>+            const HashEntry* operator-&gt;()
</ins><span class="cx">             {
</span><del>-                return &amp;m_table-&gt;values[m_position];
</del><ins>+                return &amp;m_table-&gt;table[m_position];
</ins><span class="cx">             }
</span><span class="cx"> 
</span><del>-            StringImpl* key()
</del><ins>+            const HashEntry* operator*()
</ins><span class="cx">             {
</span><del>-                return m_table-&gt;keys[m_position];
</del><ins>+                return &amp;m_table-&gt;table[m_position];
</ins><span class="cx">             }
</span><span class="cx"> 
</span><del>-            const HashTableValue* operator-&gt;()
-            {
-                return value();
-            }
-
</del><span class="cx">             bool operator!=(const ConstIterator&amp; other)
</span><span class="cx">             {
</span><span class="cx">                 ASSERT(m_table == other.m_table);
</span><span class="lines">@@ -143,7 +182,7 @@
</span><span class="cx">             
</span><span class="cx">             ConstIterator&amp; operator++()
</span><span class="cx">             {
</span><del>-                ASSERT(m_position &lt; m_table-&gt;numberOfValues);
</del><ins>+                ASSERT(m_position &lt; m_table-&gt;compactSize);
</ins><span class="cx">                 ++m_position;
</span><span class="cx">                 skipInvalidKeys();
</span><span class="cx">                 return *this;
</span><span class="lines">@@ -152,10 +191,10 @@
</span><span class="cx">         private:
</span><span class="cx">             void skipInvalidKeys()
</span><span class="cx">             {
</span><del>-                ASSERT(m_position &lt;= m_table-&gt;numberOfValues);
-                while (m_position &lt; m_table-&gt;numberOfValues &amp;&amp; !m_table-&gt;keys[m_position])
</del><ins>+                ASSERT(m_position &lt;= m_table-&gt;compactSize);
+                while (m_position &lt; m_table-&gt;compactSize &amp;&amp; !m_table-&gt;table[m_position].key())
</ins><span class="cx">                     ++m_position;
</span><del>-                ASSERT(m_position &lt;= m_table-&gt;numberOfValues);
</del><ins>+                ASSERT(m_position &lt;= m_table-&gt;compactSize);
</ins><span class="cx">             }
</span><span class="cx">             
</span><span class="cx">             const HashTable* m_table;
</span><span class="lines">@@ -170,40 +209,37 @@
</span><span class="cx">         ConstIterator end(VM&amp; vm) const
</span><span class="cx">         {
</span><span class="cx">             initializeIfNeeded(vm);
</span><del>-            return ConstIterator(this, numberOfValues);
</del><ins>+            return ConstIterator(this, compactSize);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        ALWAYS_INLINE const HashTableValue* entry(PropertyName propertyName) const
</del><ins>+        ALWAYS_INLINE const HashEntry* entry(PropertyName propertyName) const
</ins><span class="cx">         {
</span><span class="cx">             StringImpl* impl = propertyName.uid();
</span><span class="cx">             if (!impl)
</span><span class="cx">                 return 0;
</span><span class="cx">         
</span><del>-            ASSERT(keys);
</del><ins>+            ASSERT(table);
</ins><span class="cx"> 
</span><del>-            int indexEntry = impl-&gt;existingHash() &amp; indexMask;
-            int valueIndex = index[indexEntry].value;
-            if (valueIndex == -1)
</del><ins>+            const HashEntry* entry = &amp;table[impl-&gt;existingHash() &amp; compactHashSizeMask];
+
+            if (!entry-&gt;key())
</ins><span class="cx">                 return 0;
</span><span class="cx"> 
</span><del>-            while (true) {
-                if (keys[valueIndex] == impl)
-                    return &amp;values[valueIndex];
</del><ins>+            do {
+                if (entry-&gt;key() == impl)
+                    return entry;
+                entry = entry-&gt;next();
+            } while (entry);
</ins><span class="cx"> 
</span><del>-                indexEntry = index[indexEntry].next;
-                if (indexEntry == -1)
-                    return nullptr;
-                valueIndex = index[indexEntry].value;
-                ASSERT(valueIndex != -1);
-            };
</del><ins>+            return 0;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Convert the hash table keys to identifiers.
</span><span class="cx">         JS_EXPORT_PRIVATE void createTable(VM&amp;) const;
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    JS_EXPORT_PRIVATE bool setUpStaticFunctionSlot(ExecState*, const HashTableValue*, JSObject* thisObject, PropertyName, PropertySlot&amp;);
</del><ins>+    JS_EXPORT_PRIVATE bool setUpStaticFunctionSlot(ExecState*, const HashEntry*, JSObject* thisObject, PropertyName, PropertySlot&amp;);
</ins><span class="cx"> 
</span><span class="cx">     /**
</span><span class="cx">      * This method does it all (looking in the hashtable, checking for function
</span><span class="lines">@@ -214,7 +250,7 @@
</span><span class="cx">     template &lt;class ThisImp, class ParentImp&gt;
</span><span class="cx">     inline bool getStaticPropertySlot(ExecState* exec, const HashTable&amp; table, ThisImp* thisObj, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx">     {
</span><del>-        const HashTableValue* entry = table.entry(exec, propertyName);
</del><ins>+        const HashEntry* entry = table.entry(exec, propertyName);
</ins><span class="cx"> 
</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="lines">@@ -237,7 +273,7 @@
</span><span class="cx">         if (ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot))
</span><span class="cx">             return true;
</span><span class="cx"> 
</span><del>-        const HashTableValue* entry = table.entry(exec, propertyName);
</del><ins>+        const HashEntry* entry = table.entry(exec, propertyName);
</ins><span class="cx">         if (!entry)
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="lines">@@ -251,7 +287,7 @@
</span><span class="cx">     template &lt;class ThisImp, class ParentImp&gt;
</span><span class="cx">     inline bool getStaticValueSlot(ExecState* exec, const HashTable&amp; table, ThisImp* thisObj, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx">     {
</span><del>-        const HashTableValue* entry = table.entry(exec, propertyName);
</del><ins>+        const HashEntry* entry = table.entry(exec, propertyName);
</ins><span class="cx"> 
</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="lines">@@ -262,7 +298,7 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    inline void putEntry(ExecState* exec, const HashTableValue* entry, JSObject* base, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</del><ins>+    inline void putEntry(ExecState* exec, const HashEntry* entry, JSObject* base, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</ins><span class="cx">     {
</span><span class="cx">         // If this is a function put it as an override property.
</span><span class="cx">         if (entry-&gt;attributes() &amp; BuiltinOrFunction) {
</span><span class="lines">@@ -282,7 +318,7 @@
</span><span class="cx">      */
</span><span class="cx">     inline bool lookupPut(ExecState* exec, PropertyName propertyName, JSObject* base, JSValue value, const HashTable&amp; table, PutPropertySlot&amp; slot)
</span><span class="cx">     {
</span><del>-        const HashTableValue* entry = table.entry(exec, propertyName);
</del><ins>+        const HashEntry* entry = table.entry(exec, propertyName);
</ins><span class="cx"> 
</span><span class="cx">         if (!entry)
</span><span class="cx">             return false;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/ChangeLog        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-03-12  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r165482.
+        https://bugs.webkit.org/show_bug.cgi?id=130157
+
+        Broke the windows build; &quot;error C2466: cannot allocate an
+        array of constant size 0&quot; (Requested by jernoble on #webkit).
+
+        Reverted changeset:
+
+        &quot;Reduce memory use for static property maps&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=129986
+        http://trac.webkit.org/changeset/165482
+
</ins><span class="cx"> 2014-03-12  Brian Burg  &lt;bburg@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector receives spurious setScriptEnabled instrumentation calls
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -601,19 +601,19 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;class ThisImp&gt;
</span><del>-inline const JSC::HashTableValue* getStaticValueSlotEntryWithoutCaching(JSC::ExecState* exec, JSC::PropertyName propertyName)
</del><ins>+inline const JSC::HashEntry* getStaticValueSlotEntryWithoutCaching(JSC::ExecState* exec, JSC::PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     const JSC::HashTable* table = ThisImp::info()-&gt;propHashTable(exec);
</span><span class="cx">     if (!table)
</span><span class="cx">         return getStaticValueSlotEntryWithoutCaching&lt;typename ThisImp::Base&gt;(exec, propertyName);
</span><del>-    const JSC::HashTableValue* entry = table-&gt;entry(exec, propertyName);
</del><ins>+    const JSC::HashEntry* entry = table-&gt;entry(exec, propertyName);
</ins><span class="cx">     if (!entry) // not found, forward to parent
</span><span class="cx">         return getStaticValueSlotEntryWithoutCaching&lt;typename ThisImp::Base&gt;(exec, propertyName);
</span><span class="cx">     return entry;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;&gt;
</span><del>-inline const JSC::HashTableValue* getStaticValueSlotEntryWithoutCaching&lt;JSDOMWrapper&gt;(JSC::ExecState*, JSC::PropertyName)
</del><ins>+inline const JSC::HashEntry* getStaticValueSlotEntryWithoutCaching&lt;JSDOMWrapper&gt;(JSC::ExecState*, JSC::PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">     // are not affected by properties changed on the Window or anything in its prototype chain.
</span><span class="cx">     // This is consistent with the behavior of Firefox.
</span><span class="cx"> 
</span><del>-    const HashTableValue* entry;
</del><ins>+    const HashEntry* entry;
</ins><span class="cx"> 
</span><span class="cx">     // We don't want any properties other than &quot;close&quot; and &quot;closed&quot; on a frameless window (i.e. one whose page got closed,
</span><span class="cx">     // or whose iframe got removed).
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHistoryCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Check for the few functions that we allow, even when called cross-domain.
</span><span class="cx">     // Make these read-only / non-configurable to prevent writes via defineProperty.
</span><del>-    const HashTableValue* entry = JSHistoryPrototype::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</del><ins>+    const HashEntry* entry = JSHistoryPrototype::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</ins><span class="cx">     if (entry) {
</span><span class="cx">         // Allow access to back(), forward() and go() from any frame.
</span><span class="cx">         if (entry-&gt;attributes() &amp; JSC::Function) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Check for the few functions that we allow, even when called cross-domain.
</span><span class="cx">     // Make these read-only / non-configurable to prevent writes via defineProperty.
</span><del>-    const HashTableValue* entry = JSLocationPrototype::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</del><ins>+    const HashEntry* entry = JSLocationPrototype::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</ins><span class="cx">     if (entry &amp;&amp; (entry-&gt;attributes() &amp; JSC::Function)) {
</span><span class="cx">         if (entry-&gt;function() == jsLocationPrototypeFunctionReplace) {
</span><span class="cx">             slot.setCustom(this, ReadOnly | DontDelete | DontEnum, nonCachingStaticReplaceFunctionGetter);
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool sameDomainAccess = shouldAllowAccessToFrame(exec, frame);
</span><span class="cx"> 
</span><del>-    const HashTableValue* entry = JSLocation::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</del><ins>+    const HashEntry* entry = JSLocation::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</ins><span class="cx">     if (!entry) {
</span><span class="cx">         if (sameDomainAccess)
</span><span class="cx">             JSObject::put(this, exec, propertyName, value, slot);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -405,7 +405,7 @@
</span><span class="cx">     my $manualLookupGetterGeneration = sub {
</span><span class="cx">         my $requiresManualLookup = ($indexedGetterFunction &amp;&amp; !$hasNumericIndexedGetter) || $namedGetterFunction;
</span><span class="cx">         if ($requiresManualLookup) {
</span><del>-            push(@getOwnPropertySlotImpl, &quot;    const ${namespaceMaybe}HashTableValue* entry = getStaticValueSlotEntryWithoutCaching&lt;$className&gt;(exec, propertyName);\n&quot;);
</del><ins>+            push(@getOwnPropertySlotImpl, &quot;    const ${namespaceMaybe}HashEntry* entry = getStaticValueSlotEntryWithoutCaching&lt;$className&gt;(exec, propertyName);\n&quot;);
</ins><span class="cx">             push(@getOwnPropertySlotImpl, &quot;    if (entry) {\n&quot;);
</span><span class="cx">             push(@getOwnPropertySlotImpl, &quot;        slot.setCustom(thisObject, entry-&gt;attributes(), entry-&gt;propertyGetter());\n&quot;);
</span><span class="cx">             push(@getOwnPropertySlotImpl, &quot;        return true;\n&quot;);
</span><span class="lines">@@ -3937,8 +3937,6 @@
</span><span class="cx">     # Start outputing the hashtables
</span><span class="cx">     my $nameEntries = &quot;${name}Values&quot;;
</span><span class="cx">     $nameEntries =~ s/:/_/g;
</span><del>-    my $nameIndex = &quot;${name}Index&quot;;
-    $nameIndex =~ s/:/_/g;
</del><span class="cx">     my $hasSetter = &quot;false&quot;;
</span><span class="cx"> 
</span><span class="cx">     if (($name =~ /Prototype/) or ($name =~ /Constructor/)) {
</span><span class="lines">@@ -3958,19 +3956,8 @@
</span><span class="cx">         push(@implContent, &quot;/* Hash table */\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    push(@implContent, &quot;\nstatic const struct CompactHashIndex ${nameIndex}\[$compactSize\] = {\n&quot;);
-    for (my $i = 0; $i &lt; $compactSize; $i++) {
-        my $T = -1;
-        if (defined($table[$i])) { $T = $table[$i]; }
-        my $L = -1;
-        if (defined($links[$i])) { $L = $links[$i]; }
-        push(@implContent, &quot;    { $T, $L },\n&quot;);
-    }
-    push(@implContent, &quot;};\n\n&quot;);
-
</del><span class="cx">     # Dump the hash table
</span><del>-    my $packedSize = scalar @{$keys};
-    push(@implContent, &quot;\nstatic const HashTableValue $nameEntries\[$packedSize\] =\n\{\n&quot;);
</del><ins>+    push(@implContent, &quot;\nstatic const HashTableValue $nameEntries\[\] =\n\{\n&quot;);
</ins><span class="cx">     $i = 0;
</span><span class="cx">     foreach my $key (@{$keys}) {
</span><span class="cx">         my $conditional;
</span><span class="lines">@@ -3993,17 +3980,14 @@
</span><span class="cx">             $hasSetter = &quot;true&quot;;
</span><span class="cx">         }
</span><span class="cx">         push(@implContent, &quot;    { \&quot;$key\&quot;, @$specials[$i], NoIntrinsic, (intptr_t)&quot; . $firstTargetType . &quot;(@$value1[$i]), (intptr_t) &quot; . $secondTargetType . &quot;(@$value2[$i]) },\n&quot;);
</span><del>-        if ($conditional) {
-            push(@implContent, &quot;#else\n&quot;) ;
-            push(@implContent, &quot;    { 0, 0, NoIntrinsic, 0, 0 },\n&quot;);
-            push(@implContent, &quot;#endif\n&quot;) ;
-        }
</del><ins>+        push(@implContent, &quot;#endif\n&quot;) if $conditional;
</ins><span class="cx">         ++$i;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    push(@implContent, &quot;    { 0, 0, NoIntrinsic, 0, 0 }\n&quot;);
</ins><span class="cx">     push(@implContent, &quot;};\n\n&quot;);
</span><span class="cx">     my $compactSizeMask = $numEntries - 1;
</span><del>-    push(@implContent, &quot;static const HashTable $name = { $packedSize, $compactSizeMask, $hasSetter, $nameEntries, 0, $nameIndex };\n&quot;);
</del><ins>+    push(@implContent, &quot;static const HashTable $name = { $compactSize, $compactSizeMask, $hasSetter, $nameEntries, 0 };\n&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub WriteData
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -35,33 +35,22 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestActiveDOMObjectTableIndex[4] = {
-    { 1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestActiveDOMObjectTableValues[2] =
</del><ins>+static const HashTableValue JSTestActiveDOMObjectTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;excitingAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectExcitingAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectTable = { 2, 3, true, JSTestActiveDOMObjectTableValues, 0, JSTestActiveDOMObjectTableIndex };
</del><ins>+static const HashTable JSTestActiveDOMObjectTable = { 4, 3, true, JSTestActiveDOMObjectTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestActiveDOMObjectConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestActiveDOMObjectConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestActiveDOMObjectConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectConstructorTable = { 0, 0, false, JSTestActiveDOMObjectConstructorTableValues, 0, JSTestActiveDOMObjectConstructorTableIndex };
</del><ins>+static const HashTable JSTestActiveDOMObjectConstructorTable = { 1, 0, false, JSTestActiveDOMObjectConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestActiveDOMObjectConstructor::s_info = { &quot;TestActiveDOMObjectConstructor&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectConstructorTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestActiveDOMObjectConstructor::JSTestActiveDOMObjectConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -84,21 +73,14 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestActiveDOMObjectPrototypeTableIndex[4] = {
-    { 0, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestActiveDOMObjectPrototypeTableValues[2] =
</del><ins>+static const HashTableValue JSTestActiveDOMObjectPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;excitingFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestActiveDOMObjectPrototypeFunctionExcitingFunction), (intptr_t) (1) },
</span><span class="cx">     { &quot;postMessage&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestActiveDOMObjectPrototypeFunctionPostMessage), (intptr_t) (1) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectPrototypeTable = { 2, 3, false, JSTestActiveDOMObjectPrototypeTableValues, 0, JSTestActiveDOMObjectPrototypeTableIndex };
</del><ins>+static const HashTable JSTestActiveDOMObjectPrototypeTable = { 4, 3, false, JSTestActiveDOMObjectPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { &quot;TestActiveDOMObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestActiveDOMObjectPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -34,30 +34,21 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestCustomNamedGetterTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestCustomNamedGetterTableValues[1] =
</del><ins>+static const HashTableValue JSTestCustomNamedGetterTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestCustomNamedGetterConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterTable = { 1, 1, true, JSTestCustomNamedGetterTableValues, 0, JSTestCustomNamedGetterTableIndex };
</del><ins>+static const HashTable JSTestCustomNamedGetterTable = { 2, 1, true, JSTestCustomNamedGetterTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestCustomNamedGetterConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestCustomNamedGetterConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestCustomNamedGetterConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterConstructorTable = { 0, 0, false, JSTestCustomNamedGetterConstructorTableValues, 0, JSTestCustomNamedGetterConstructorTableIndex };
</del><ins>+static const HashTable JSTestCustomNamedGetterConstructorTable = { 1, 0, false, JSTestCustomNamedGetterConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestCustomNamedGetterConstructor::s_info = { &quot;TestCustomNamedGetterConstructor&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterConstructorTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -80,18 +71,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestCustomNamedGetterPrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestCustomNamedGetterPrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSTestCustomNamedGetterPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;anotherFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestCustomNamedGetterPrototypeFunctionAnotherFunction), (intptr_t) (1) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterPrototypeTable = { 1, 1, false, JSTestCustomNamedGetterPrototypeTableValues, 0, JSTestCustomNamedGetterPrototypeTableIndex };
</del><ins>+static const HashTable JSTestCustomNamedGetterPrototypeTable = { 2, 1, false, JSTestCustomNamedGetterPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { &quot;TestCustomNamedGetterPrototype&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestCustomNamedGetterPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -35,16 +35,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestEventConstructorConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestEventConstructorConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestEventConstructorConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorConstructorTable = { 0, 0, false, JSTestEventConstructorConstructorTableValues, 0, JSTestEventConstructorConstructorTableIndex };
</del><ins>+static const HashTable JSTestEventConstructorConstructorTable = { 1, 0, false, JSTestEventConstructorConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestEventConstructorConstructor::constructJSTestEventConstructor(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestEventConstructorConstructor* jsConstructor = jsCast&lt;JSTestEventConstructorConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -111,27 +107,15 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestEventConstructorPrototypeTableIndex[9] = {
-    { -1, -1 },
-    { 0, 8 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 2, -1 },
-};
-
-
-static const HashTableValue JSTestEventConstructorPrototypeTableValues[3] =
</del><ins>+static const HashTableValue JSTestEventConstructorPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;attr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;attr2&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorPrototypeTable = { 3, 7, true, JSTestEventConstructorPrototypeTableValues, 0, JSTestEventConstructorPrototypeTableIndex };
</del><ins>+static const HashTable JSTestEventConstructorPrototypeTable = { 9, 7, true, JSTestEventConstructorPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventConstructorPrototype::s_info = { &quot;TestEventConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestEventConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -40,30 +40,21 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestEventTargetTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestEventTargetTableValues[1] =
</del><ins>+static const HashTableValue JSTestEventTargetTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventTargetConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetTable = { 1, 1, true, JSTestEventTargetTableValues, 0, JSTestEventTargetTableIndex };
</del><ins>+static const HashTable JSTestEventTargetTable = { 2, 1, true, JSTestEventTargetTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestEventTargetConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestEventTargetConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestEventTargetConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetConstructorTable = { 0, 0, false, JSTestEventTargetConstructorTableValues, 0, JSTestEventTargetConstructorTableIndex };
</del><ins>+static const HashTable JSTestEventTargetConstructorTable = { 1, 0, false, JSTestEventTargetConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventTargetConstructor::s_info = { &quot;TestEventTargetConstructor&quot;, &amp;Base::s_info, &amp;JSTestEventTargetConstructorTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestEventTargetConstructor::JSTestEventTargetConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -86,27 +77,16 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestEventTargetPrototypeTableIndex[8] = {
-    { 2, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 3, -1 },
-    { 1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestEventTargetPrototypeTableValues[4] =
</del><ins>+static const HashTableValue JSTestEventTargetPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;item&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionItem), (intptr_t) (1) },
</span><span class="cx">     { &quot;addEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionAddEventListener), (intptr_t) (2) },
</span><span class="cx">     { &quot;removeEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionRemoveEventListener), (intptr_t) (2) },
</span><span class="cx">     { &quot;dispatchEvent&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionDispatchEvent), (intptr_t) (1) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetPrototypeTable = { 4, 7, false, JSTestEventTargetPrototypeTableValues, 0, JSTestEventTargetPrototypeTableIndex };
</del><ins>+static const HashTable JSTestEventTargetPrototypeTable = { 8, 7, false, JSTestEventTargetPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventTargetPrototype::s_info = { &quot;TestEventTargetPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventTargetPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestEventTargetPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -154,7 +134,7 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestEventTarget* thisObject = jsCast&lt;JSTestEventTarget*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    const HashTableValue* entry = getStaticValueSlotEntryWithoutCaching&lt;JSTestEventTarget&gt;(exec, propertyName);
</del><ins>+    const HashEntry* entry = getStaticValueSlotEntryWithoutCaching&lt;JSTestEventTarget&gt;(exec, propertyName);
</ins><span class="cx">     if (entry) {
</span><span class="cx">         slot.setCustom(thisObject, entry-&gt;attributes(), entry-&gt;propertyGetter());
</span><span class="cx">         return true;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -33,30 +33,21 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestExceptionTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestExceptionTableValues[1] =
</del><ins>+static const HashTableValue JSTestExceptionTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;name&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionName), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionTable = { 1, 1, true, JSTestExceptionTableValues, 0, JSTestExceptionTableIndex };
</del><ins>+static const HashTable JSTestExceptionTable = { 2, 1, true, JSTestExceptionTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestExceptionConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestExceptionConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestExceptionConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionConstructorTable = { 0, 0, false, JSTestExceptionConstructorTableValues, 0, JSTestExceptionConstructorTableIndex };
</del><ins>+static const HashTable JSTestExceptionConstructorTable = { 1, 0, false, JSTestExceptionConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestExceptionConstructor::s_info = { &quot;TestExceptionConstructor&quot;, &amp;Base::s_info, &amp;JSTestExceptionConstructorTable, 0, CREATE_METHOD_TABLE(JSTestExceptionConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestExceptionConstructor::JSTestExceptionConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -79,18 +70,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestExceptionPrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestExceptionPrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSTestExceptionPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionPrototypeTable = { 1, 1, true, JSTestExceptionPrototypeTableValues, 0, JSTestExceptionPrototypeTableIndex };
</del><ins>+static const HashTable JSTestExceptionPrototypeTable = { 2, 1, true, JSTestExceptionPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestExceptionPrototype::s_info = { &quot;TestExceptionPrototype&quot;, &amp;Base::s_info, &amp;JSTestExceptionPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestExceptionPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -30,16 +30,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestGenerateIsReachableConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestGenerateIsReachableConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestGenerateIsReachableConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachableConstructorTable = { 0, 0, false, JSTestGenerateIsReachableConstructorTableValues, 0, JSTestGenerateIsReachableConstructorTableIndex };
</del><ins>+static const HashTable JSTestGenerateIsReachableConstructorTable = { 1, 0, false, JSTestGenerateIsReachableConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestGenerateIsReachableConstructor::s_info = { &quot;TestGenerateIsReachableConstructor&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachableConstructorTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachableConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestGenerateIsReachableConstructor::JSTestGenerateIsReachableConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -62,18 +58,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestGenerateIsReachablePrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestGenerateIsReachablePrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSTestGenerateIsReachablePrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachablePrototypeTable = { 1, 1, true, JSTestGenerateIsReachablePrototypeTableValues, 0, JSTestGenerateIsReachablePrototypeTableIndex };
</del><ins>+static const HashTable JSTestGenerateIsReachablePrototypeTable = { 2, 1, true, JSTestGenerateIsReachablePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { &quot;TestGenerateIsReachablePrototype&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachablePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestGenerateIsReachablePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -50,101 +50,56 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestInterfaceTableIndex[4] = {
-    { -1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { 1, -1 },
-};
-
-
-static const HashTableValue JSTestInterfaceTableValues[2] =
</del><ins>+static const HashTableValue JSTestInterfaceTableValues[] =
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsStr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr3) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalStr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr3) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfaceTable = { 2, 3, true, JSTestInterfaceTableValues, 0, JSTestInterfaceTableIndex };
</del><ins>+static const HashTable JSTestInterfaceTable = { 4, 3, true, JSTestInterfaceTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestInterfaceConstructorTableIndex[11] = {
-    { 8, -1 },
-    { 5, -1 },
-    { -1, -1 },
-    { 0, 9 },
-    { 6, 10 },
-    { 7, -1 },
-    { 2, -1 },
-    { 1, 8 },
-    { 3, -1 },
-    { 4, -1 },
-    { 9, -1 },
-};
-
-
-static const HashTableValue JSTestInterfaceConstructorTableValues[10] =
</del><ins>+static const HashTableValue JSTestInterfaceConstructorTableValues[] =
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;IMPLEMENTSCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;SUPPLEMENTALCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;SUPPLEMENTALCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsStaticReadOnlyAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorImplementsStaticReadOnlyAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsStaticAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorImplementsStaticAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceConstructorImplementsStaticAttr) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalStaticReadOnlyAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalStaticAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorSupplementalStaticAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceConstructorSupplementalStaticAttr) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsMethod4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfaceConstructorFunctionImplementsMethod4), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalMethod4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfaceConstructorFunctionSupplementalMethod4), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfaceConstructorTable = { 10, 7, true, JSTestInterfaceConstructorTableValues, 0, JSTestInterfaceConstructorTableIndex };
</del><ins>+static const HashTable JSTestInterfaceConstructorTable = { 11, 7, true, JSTestInterfaceConstructorTableValues, 0 };
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> COMPILE_ASSERT(1 == TestInterface::IMPLEMENTSCONSTANT1, TestInterfaceEnumIMPLEMENTSCONSTANT1IsWrongUseDoNotCheckConstants);
</span><span class="lines">@@ -212,161 +167,61 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestInterfacePrototypeTableIndex[65] = {
-    { -1, -1 },
-    { 3, 64 },
-    { 14, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 13, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 10, -1 },
-    { -1, -1 },
-    { 5, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 4, -1 },
-    { -1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { 7, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 15, -1 },
-    { 1, -1 },
-    { 6, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 11, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 8, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 16, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 2, -1 },
-    { 9, -1 },
-    { -1, -1 },
-    { 12, -1 },
-};
-
-
-static const HashTableValue JSTestInterfacePrototypeTableValues[17] =
</del><ins>+static const HashTableValue JSTestInterfacePrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsStr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsStr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr2) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsNode&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsNode) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalStr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalStr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr2) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalNode&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalNode) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;IMPLEMENTSCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;SUPPLEMENTALCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;SUPPLEMENTALCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod1), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod2), (intptr_t) (2) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx">     { &quot;implementsMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod3), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod1), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod2), (intptr_t) (2) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx">     { &quot;supplementalMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod3), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfacePrototypeTable = { 17, 63, true, JSTestInterfacePrototypeTableValues, 0, JSTestInterfacePrototypeTableIndex };
</del><ins>+static const HashTable JSTestInterfacePrototypeTable = { 65, 63, true, JSTestInterfacePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestInterfacePrototype::s_info = { &quot;TestInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -34,16 +34,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestMediaQueryListListenerConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestMediaQueryListListenerConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestMediaQueryListListenerConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerConstructorTable = { 0, 0, false, JSTestMediaQueryListListenerConstructorTableValues, 0, JSTestMediaQueryListListenerConstructorTableIndex };
</del><ins>+static const HashTable JSTestMediaQueryListListenerConstructorTable = { 1, 0, false, JSTestMediaQueryListListenerConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestMediaQueryListListenerConstructor::s_info = { &quot;TestMediaQueryListListenerConstructor&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerConstructorTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -66,21 +62,14 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestMediaQueryListListenerPrototypeTableIndex[4] = {
-    { 1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[2] =
</del><ins>+static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestMediaQueryListListenerConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;method&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t) (1) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 2, 3, true, JSTestMediaQueryListListenerPrototypeTableValues, 0, JSTestMediaQueryListListenerPrototypeTableIndex };
</del><ins>+static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 4, 3, true, JSTestMediaQueryListListenerPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { &quot;TestMediaQueryListListenerPrototype&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestMediaQueryListListenerPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -33,16 +33,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNamedConstructorConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestNamedConstructorConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestNamedConstructorConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorConstructorTable = { 0, 0, false, JSTestNamedConstructorConstructorTableValues, 0, JSTestNamedConstructorConstructorTableIndex };
</del><ins>+static const HashTable JSTestNamedConstructorConstructorTable = { 1, 0, false, JSTestNamedConstructorConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNamedConstructorConstructor::s_info = { &quot;TestNamedConstructorConstructor&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorConstructorTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -109,18 +105,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNamedConstructorPrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestNamedConstructorPrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSTestNamedConstructorPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNamedConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorPrototypeTable = { 1, 1, true, JSTestNamedConstructorPrototypeTableValues, 0, JSTestNamedConstructorPrototypeTableIndex };
</del><ins>+static const HashTable JSTestNamedConstructorPrototypeTable = { 2, 1, true, JSTestNamedConstructorPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNamedConstructorPrototype::s_info = { &quot;TestNamedConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNamedConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -33,16 +33,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNodeConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestNodeConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestNodeConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodeConstructorTable = { 0, 0, false, JSTestNodeConstructorTableValues, 0, JSTestNodeConstructorTableIndex };
</del><ins>+static const HashTable JSTestNodeConstructorTable = { 1, 0, false, JSTestNodeConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestNodeConstructor::constructJSTestNode(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestNodeConstructor* castedThis = jsCast&lt;JSTestNodeConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -78,18 +74,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNodePrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestNodePrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSTestNodePrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNodeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodePrototypeTable = { 1, 1, true, JSTestNodePrototypeTableValues, 0, JSTestNodePrototypeTableIndex };
</del><ins>+static const HashTable JSTestNodePrototypeTable = { 2, 1, true, JSTestNodePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNodePrototype::s_info = { &quot;TestNodePrototype&quot;, &amp;Base::s_info, &amp;JSTestNodePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNodePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNodePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -76,101 +76,30 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestObjTableIndex[17] = {
-    { 5, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 4, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 2, -1 },
-    { 0, 16 },
-    { -1, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 3, -1 },
-};
-
-
-static const HashTableValue JSTestObjTableValues[6] =
</del><ins>+static const HashTableValue JSTestObjTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;TestSubObjEnabledBySetting&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestSubObjEnabledBySettingConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTestSubObjEnabledBySettingConstructor) },
</span><span class="cx">     { &quot;customAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCustomAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCustomAttr) },
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">     { &quot;conditionalAttr4&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr4Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr4Constructor) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalAttr5&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr5Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr5Constructor) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalAttr6&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr6Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr6Constructor) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx">     { &quot;contentDocument&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjContentDocument), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjTable = { 6, 15, true, JSTestObjTableValues, 0, JSTestObjTableIndex };
</del><ins>+static const HashTable JSTestObjTable = { 17, 15, true, JSTestObjTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestObjConstructorTableIndex[39] = {
-    { -1, -1 },
-    { 9, 34 },
-    { 21, -1 },
-    { 2, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 0, -1 },
-    { 12, -1 },
-    { 16, -1 },
-    { 5, 32 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 10, -1 },
-    { 7, 36 },
-    { 15, -1 },
-    { 3, -1 },
-    { -1, -1 },
-    { 11, 33 },
-    { -1, -1 },
-    { -1, -1 },
-    { 8, 37 },
-    { 18, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 4, -1 },
-    { 6, -1 },
-    { 13, -1 },
-    { 14, 35 },
-    { 17, -1 },
-    { 19, 38 },
-    { 20, -1 },
-    { 22, -1 },
-};
-
-
-static const HashTableValue JSTestObjConstructorTableValues[23] =
</del><ins>+static const HashTableValue JSTestObjConstructorTableValues[] =
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">     { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx">     { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;CONST_VALUE_1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="lines">@@ -195,12 +124,11 @@
</span><span class="cx">     { &quot;classMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethod2), (intptr_t) (1) },
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">     { &quot;overloadedMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionOverloadedMethod1), (intptr_t) (1) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjConstructorTable = { 23, 31, true, JSTestObjConstructorTableValues, 0, JSTestObjConstructorTableIndex };
</del><ins>+static const HashTable JSTestObjConstructorTable = { 39, 31, true, JSTestObjConstructorTableValues, 0 };
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx"> COMPILE_ASSERT(0 == TestObj::CONDITIONAL_CONST, TestObjEnumCONDITIONAL_CONSTIsWrongUseDoNotCheckConstants);
</span><span class="lines">@@ -259,541 +187,7 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestObjPrototypeTableIndex[530] = {
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 23, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 49, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 16, 513 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 47, -1 },
-    { 73, -1 },
-    { -1, -1 },
-    { 41, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 102, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 15, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 110, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 27, 522 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 126, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 101, -1 },
-    { 100, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 4, -1 },
-    { -1, -1 },
-    { 17, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 5, -1 },
-    { 134, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 53, -1 },
-    { 32, 517 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 93, -1 },
-    { 87, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 31, -1 },
-    { -1, -1 },
-    { 55, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 117, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 78, -1 },
-    { 70, -1 },
-    { -1, -1 },
-    { 25, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 22, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 96, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 114, -1 },
-    { -1, -1 },
-    { 6, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 86, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 33, -1 },
-    { 51, -1 },
-    { -1, -1 },
-    { 71, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 92, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 127, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 72, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 67, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 24, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 89, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 82, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 3, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 45, -1 },
-    { -1, -1 },
-    { 77, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 36, 526 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 8, 512 },
-    { -1, -1 },
-    { 130, -1 },
-    { -1, -1 },
-    { 58, 528 },
-    { 135, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 64, 524 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 131, -1 },
-    { -1, -1 },
-    { 103, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 39, 515 },
-    { -1, -1 },
-    { -1, -1 },
-    { 113, -1 },
-    { 90, -1 },
-    { 120, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 34, -1 },
-    { -1, -1 },
-    { 18, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 61, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 128, -1 },
-    { 123, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 26, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 76, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 84, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 43, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 12, -1 },
-    { -1, -1 },
-    { 59, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { 99, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 30, -1 },
-    { 28, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 124, -1 },
-    { -1, -1 },
-    { 35, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 65, 518 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 88, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 46, 521 },
-    { 80, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 44, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 69, -1 },
-    { -1, -1 },
-    { 62, -1 },
-    { -1, -1 },
-    { 2, -1 },
-    { -1, -1 },
-    { 50, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 95, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 38, 523 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 57, -1 },
-    { 68, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 107, 527 },
-    { -1, -1 },
-    { 108, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 14, -1 },
-    { 20, 529 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 112, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 118, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 79, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 60, -1 },
-    { 52, -1 },
-    { -1, -1 },
-    { 74, -1 },
-    { 132, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 54, 516 },
-    { -1, -1 },
-    { 85, -1 },
-    { 9, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 105, -1 },
-    { 29, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 37, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 19, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 109, -1 },
-    { 13, 514 },
-    { 40, -1 },
-    { 111, -1 },
-    { -1, -1 },
-    { 7, 525 },
-    { -1, -1 },
-    { 125, -1 },
-    { 106, -1 },
-    { 75, 520 },
-    { -1, -1 },
-    { 122, -1 },
-    { 83, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 119, -1 },
-    { -1, -1 },
-    { 10, 519 },
-    { 11, -1 },
-    { 21, -1 },
-    { 42, -1 },
-    { 48, -1 },
-    { 56, -1 },
-    { 63, -1 },
-    { 66, -1 },
-    { 81, -1 },
-    { 91, -1 },
-    { 94, -1 },
-    { 97, -1 },
-    { 98, -1 },
-    { 104, -1 },
-    { 115, -1 },
-    { 116, -1 },
-    { 121, -1 },
-    { 129, -1 },
-    { 133, -1 },
-};
-
-
-static const HashTableValue JSTestObjPrototypeTableValues[136] =
</del><ins>+static const HashTableValue JSTestObjPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;readOnlyLongAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="lines">@@ -835,18 +229,12 @@
</span><span class="cx">     { &quot;withScriptArgumentsAndCallStackAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptArgumentsAndCallStackAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptArgumentsAndCallStackAttribute) },
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">     { &quot;conditionalAttr1&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr1) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalAttr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr2) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalAttr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr3) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx">     { &quot;cachedAttribute1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;cachedAttribute2&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="lines">@@ -869,8 +257,6 @@
</span><span class="cx">     { &quot;attributeWithReservedEnumType&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithReservedEnumType), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithReservedEnumType) },
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">     { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx">     { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;CONST_VALUE_1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="lines">@@ -926,18 +312,12 @@
</span><span class="cx">     { &quot;methodWithCallbackAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg), (intptr_t) (0) },
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">     { &quot;conditionalMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod1), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod2), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod3), (intptr_t) (0) },
</span><del>-#else
-    { 0, 0, NoIntrinsic, 0, 0 },
</del><span class="cx"> #endif
</span><span class="cx">     { &quot;overloadedMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOverloadedMethod), (intptr_t) (2) },
</span><span class="cx">     { &quot;classMethodWithClamp&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionClassMethodWithClamp), (intptr_t) (2) },
</span><span class="lines">@@ -959,9 +339,10 @@
</span><span class="cx">     { &quot;variadicDoubleMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicDoubleMethod), (intptr_t) (2) },
</span><span class="cx">     { &quot;variadicNodeMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicNodeMethod), (intptr_t) (2) },
</span><span class="cx">     { &quot;any&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionAny), (intptr_t) (2) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjPrototypeTable = { 136, 511, true, JSTestObjPrototypeTableValues, 0, JSTestObjPrototypeTableIndex };
</del><ins>+static const HashTable JSTestObjPrototypeTable = { 530, 511, true, JSTestObjPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestObjPrototype::s_info = { &quot;TestObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestObjPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestObjPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -34,16 +34,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestOverloadedConstructorsConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestOverloadedConstructorsConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestOverloadedConstructorsConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsConstructorTable = { 0, 0, false, JSTestOverloadedConstructorsConstructorTableValues, 0, JSTestOverloadedConstructorsConstructorTableIndex };
</del><ins>+static const HashTable JSTestOverloadedConstructorsConstructorTable = { 1, 0, false, JSTestOverloadedConstructorsConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestOverloadedConstructorsConstructor* castedThis = jsCast&lt;JSTestOverloadedConstructorsConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -137,18 +133,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestOverloadedConstructorsPrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestOverloadedConstructorsPrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSTestOverloadedConstructorsPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 1, 1, true, JSTestOverloadedConstructorsPrototypeTableValues, 0, JSTestOverloadedConstructorsPrototypeTableIndex };
</del><ins>+static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 2, 1, true, JSTestOverloadedConstructorsPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { &quot;TestOverloadedConstructorsPrototype&quot;, &amp;Base::s_info, &amp;JSTestOverloadedConstructorsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestOverloadedConstructorsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -38,16 +38,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestSerializedScriptValueInterfaceConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestSerializedScriptValueInterfaceConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSTestSerializedScriptValueInterfaceConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfaceConstructorTable = { 0, 0, false, JSTestSerializedScriptValueInterfaceConstructorTableValues, 0, JSTestSerializedScriptValueInterfaceConstructorTableIndex };
</del><ins>+static const HashTable JSTestSerializedScriptValueInterfaceConstructorTable = { 1, 0, false, JSTestSerializedScriptValueInterfaceConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestSerializedScriptValueInterfaceConstructor::s_info = { &quot;TestSerializedScriptValueInterfaceConstructor&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfaceConstructorTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfaceConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -70,28 +66,7 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestSerializedScriptValueInterfacePrototypeTableIndex[17] = {
-    { -1, -1 },
-    { -1, -1 },
-    { 3, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 2, 16 },
-    { -1, -1 },
-    { 4, -1 },
-    { -1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 5, -1 },
-};
-
-
-static const HashTableValue JSTestSerializedScriptValueInterfacePrototypeTableValues[6] =
</del><ins>+static const HashTableValue JSTestSerializedScriptValueInterfacePrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;value&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceValue) },
</span><span class="lines">@@ -99,9 +74,10 @@
</span><span class="cx">     { &quot;cachedValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceCachedValue) },
</span><span class="cx">     { &quot;ports&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfacePorts), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;cachedReadonlyValue&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 6, 15, true, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0, JSTestSerializedScriptValueInterfacePrototypeTableIndex };
</del><ins>+static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 17, 15, true, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { &quot;TestSerializedScriptValueInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestSerializedScriptValueInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -46,30 +46,21 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestTypedefsTableIndex[2] = {
-    { -1, -1 },
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestTypedefsTableValues[0] =
</del><ins>+static const HashTableValue JSTestTypedefsTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsTable = { 0, 1, false, JSTestTypedefsTableValues, 0, JSTestTypedefsTableIndex };
</del><ins>+static const HashTable JSTestTypedefsTable = { 2, 1, false, JSTestTypedefsTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestTypedefsConstructorTableIndex[1] = {
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSTestTypedefsConstructorTableValues[1] =
</del><ins>+static const HashTableValue JSTestTypedefsConstructorTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;TestSubObj&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructorTestSubObj), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsConstructorTable = { 1, 0, true, JSTestTypedefsConstructorTableValues, 0, JSTestTypedefsConstructorTableIndex };
</del><ins>+static const HashTable JSTestTypedefsConstructorTable = { 1, 0, true, JSTestTypedefsConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestTypedefsConstructor::constructJSTestTypedefs(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestTypedefsConstructor* castedThis = jsCast&lt;JSTestTypedefsConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -113,77 +104,7 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestTypedefsPrototypeTableIndex[66] = {
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 9, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 16, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 2, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 0, 64 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 11, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 5, -1 },
-    { -1, -1 },
-    { 8, -1 },
-    { -1, -1 },
-    { 12, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 15, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 14, -1 },
-    { -1, -1 },
-    { 1, -1 },
-    { 3, -1 },
-    { 4, 65 },
-    { -1, -1 },
-    { -1, -1 },
-    { 10, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 13, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 6, -1 },
-    { 7, -1 },
-};
-
-
-static const HashTableValue JSTestTypedefsPrototypeTableValues[17] =
</del><ins>+static const HashTableValue JSTestTypedefsPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;unsignedLongLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsUnsignedLongLongAttr) },
</span><span class="lines">@@ -202,9 +123,10 @@
</span><span class="cx">     { &quot;stringArrayFunction2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction2), (intptr_t) (1) },
</span><span class="cx">     { &quot;callWithSequenceThatRequiresInclude&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude), (intptr_t) (1) },
</span><span class="cx">     { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsPrototypeTable = { 17, 63, true, JSTestTypedefsPrototypeTableValues, 0, JSTestTypedefsPrototypeTableIndex };
</del><ins>+static const HashTable JSTestTypedefsPrototypeTable = { 66, 63, true, JSTestTypedefsPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestTypedefsPrototype::s_info = { &quot;TestTypedefsPrototype&quot;, &amp;Base::s_info, &amp;JSTestTypedefsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestTypedefsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -33,16 +33,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSattributeConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSattributeConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSattributeConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributeConstructorTable = { 0, 0, false, JSattributeConstructorTableValues, 0, JSattributeConstructorTableIndex };
</del><ins>+static const HashTable JSattributeConstructorTable = { 1, 0, false, JSattributeConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSattributeConstructor::s_info = { &quot;attributeConstructor&quot;, &amp;Base::s_info, &amp;JSattributeConstructorTable, 0, CREATE_METHOD_TABLE(JSattributeConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSattributeConstructor::JSattributeConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -65,21 +61,14 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSattributePrototypeTableIndex[4] = {
-    { 1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSattributePrototypeTableValues[2] =
</del><ins>+static const HashTableValue JSattributePrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx">     { &quot;readonly&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeReadonly), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributePrototypeTable = { 2, 3, true, JSattributePrototypeTableValues, 0, JSattributePrototypeTableIndex };
</del><ins>+static const HashTable JSattributePrototypeTable = { 4, 3, true, JSattributePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSattributePrototype::s_info = { &quot;attributePrototype&quot;, &amp;Base::s_info, &amp;JSattributePrototypeTable, 0, CREATE_METHOD_TABLE(JSattributePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSattributePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (165496 => 165497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-03-12 20:42:29 UTC (rev 165496)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-03-12 21:02:02 UTC (rev 165497)
</span><span class="lines">@@ -30,16 +30,12 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSreadonlyConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSreadonlyConstructorTableValues[0] =
</del><ins>+static const HashTableValue JSreadonlyConstructorTableValues[] =
</ins><span class="cx"> {
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyConstructorTable = { 0, 0, false, JSreadonlyConstructorTableValues, 0, JSreadonlyConstructorTableIndex };
</del><ins>+static const HashTable JSreadonlyConstructorTable = { 1, 0, false, JSreadonlyConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSreadonlyConstructor::s_info = { &quot;readonlyConstructor&quot;, &amp;Base::s_info, &amp;JSreadonlyConstructorTable, 0, CREATE_METHOD_TABLE(JSreadonlyConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSreadonlyConstructor::JSreadonlyConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -62,18 +58,13 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSreadonlyPrototypeTableIndex[2] = {
-    { -1, -1 },
-    { 0, -1 },
-};
-
-
-static const HashTableValue JSreadonlyPrototypeTableValues[1] =
</del><ins>+static const HashTableValue JSreadonlyPrototypeTableValues[] =
</ins><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsreadonlyConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { 0, 0, NoIntrinsic, 0, 0 }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyPrototypeTable = { 1, 1, true, JSreadonlyPrototypeTableValues, 0, JSreadonlyPrototypeTableIndex };
</del><ins>+static const HashTable JSreadonlyPrototypeTable = { 2, 1, true, JSreadonlyPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSreadonlyPrototype::s_info = { &quot;readonlyPrototype&quot;, &amp;Base::s_info, &amp;JSreadonlyPrototypeTable, 0, CREATE_METHOD_TABLE(JSreadonlyPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSreadonlyPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre>
</div>
</div>

</body>
</html>