<!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>[170256] trunk/Source</title>
</head>
<body>

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

<h3>Log Message</h3>
<pre>Remove static tables for bindings that use eager reification
https://bugs.webkit.org/show_bug.cgi?id=134126

Reviewed by Oliver Hunt.


Source/JavaScriptCore: 
* runtime/JSObject.cpp:
(JSC::JSObject::putDirectCustomAccessor):
* runtime/Structure.h:
(JSC::Structure::setHasCustomGetterSetterProperties):
Change setHasCustomGetterSetterProperties to behave like setHasGetterSetterProperties, and set
the m_hasReadOnlyOrGetterSetterPropertiesExcludingProto bit if the property is not __proto__.
Without this, JSObject::put() won't think there are any setters on the prototype chain of an
object that has no static lookup table and uses eagerly reified custom getter/setter properties.

Source/WebCore: 
This shaves about 1MB off of WebCore's .o files.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
* bindings/scripts/test/JS/JSTestNondeterministic.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
* bindings/scripts/test/JS/JSreadonly.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjectcpp">trunk/Source/JavaScriptCore/runtime/JSObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStructureh">trunk/Source/JavaScriptCore/runtime/Structure.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</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="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodeh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributeh">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlyh">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2014-06-20  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove static tables for bindings that use eager reification
+        https://bugs.webkit.org/show_bug.cgi?id=134126
+
+        Reviewed by Oliver Hunt.
+
+        * runtime/JSObject.cpp:
+        (JSC::JSObject::putDirectCustomAccessor):
+        * runtime/Structure.h:
+        (JSC::Structure::setHasCustomGetterSetterProperties):
+        Change setHasCustomGetterSetterProperties to behave like setHasGetterSetterProperties, and set
+        the m_hasReadOnlyOrGetterSetterPropertiesExcludingProto bit if the property is not __proto__.
+        Without this, JSObject::put() won't think there are any setters on the prototype chain of an
+        object that has no static lookup table and uses eagerly reified custom getter/setter properties.
+
</ins><span class="cx"> 2014-06-21  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Gamepad API - Deprecate the existing implementation
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -1242,7 +1242,7 @@
</span><span class="cx">     Structure* structure = this-&gt;structure(vm);
</span><span class="cx">     if (attributes &amp; ReadOnly)
</span><span class="cx">         structure-&gt;setContainsReadOnlyProperties();
</span><del>-    structure-&gt;setHasCustomGetterSetterProperties();
</del><ins>+    structure-&gt;setHasCustomGetterSetterProperties(propertyName == vm.propertyNames-&gt;underscoreProto);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSObject::putDirectNonIndexAccessor(VM&amp; vm, PropertyName propertyName, JSValue value, unsigned attributes)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStructureh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Structure.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Structure.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/JavaScriptCore/runtime/Structure.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -281,7 +281,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool hasCustomGetterSetterProperties() const { return m_hasCustomGetterSetterProperties; }
</span><del>-    void setHasCustomGetterSetterProperties() { m_hasCustomGetterSetterProperties = true; }
</del><ins>+    void setHasCustomGetterSetterProperties(bool is__proto__)
+    {
+        m_hasCustomGetterSetterProperties = true;
+        if (!is__proto__)
+            m_hasReadOnlyOrGetterSetterPropertiesExcludingProto = true;
+    }
</ins><span class="cx"> 
</span><span class="cx">     void setContainsReadOnlyProperties()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/ChangeLog        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -1,3 +1,51 @@
</span><ins>+2014-06-20  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove static tables for bindings that use eager reification
+        https://bugs.webkit.org/show_bug.cgi?id=134126
+
+        Reviewed by Oliver Hunt.
+
+        This shaves about 1MB off of WebCore's .o files.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateHeader):
+        (GenerateImplementation):
+        (GenerateConstructorHelperMethods):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.h:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.h:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestException.h:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.h:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestNode.h:
+        * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+        * bindings/scripts/test/JS/JSTestNondeterministic.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSattribute.h:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+        * bindings/scripts/test/JS/JSreadonly.h:
+
</ins><span class="cx"> 2014-06-21  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Gamepad API - Deprecate the existing implementation
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -944,11 +944,13 @@
</span><span class="cx"> 
</span><span class="cx">     # Class info
</span><span class="cx">     if ($interfaceName eq &quot;Node&quot;) {
</span><del>-        push(@headerContent, &quot;protected:&quot;);
</del><ins>+        push(@headerContent, &quot;\n&quot;);
+        push(@headerContent, &quot;protected:\n&quot;);
</ins><span class="cx">         push(@headerContent, &quot;    static WEBKIT_EXPORTDATA const JSC::ClassInfo s_info;\n&quot;);
</span><del>-        push(@headerContent, &quot;public:&quot;);
</del><ins>+        push(@headerContent, &quot;public:\n&quot;);
</ins><span class="cx">         push(@headerContent, &quot;    static const JSC::ClassInfo* info() { return &amp;s_info; }\n\n&quot;);
</span><span class="cx">     } else {
</span><ins>+        push(@headerContent, &quot;\n&quot;);
</ins><span class="cx">         push(@headerContent, &quot;    DECLARE_INFO;\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx">     # Structure ID
</span><span class="lines">@@ -1804,7 +1806,7 @@
</span><span class="cx"> 
</span><span class="cx">     # - Add all constants
</span><span class="cx">     if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</span><del>-        my $hashSize = $numConstants;
</del><ins>+        my $hashSize = 0;
</ins><span class="cx">         my $hashName = $className . &quot;ConstructorTable&quot;;
</span><span class="cx"> 
</span><span class="cx">         my @hashKeys = ();
</span><span class="lines">@@ -1813,6 +1815,8 @@
</span><span class="cx">         my @hashSpecials = ();
</span><span class="cx">         my %conditionals = ();
</span><span class="cx"> 
</span><ins>+        my $needsConstructorTable = 0;
+
</ins><span class="cx">         foreach my $constant (@{$interface-&gt;constants}) {
</span><span class="cx">             my $name = $constant-&gt;name;
</span><span class="cx">             push(@hashKeys, $name);
</span><span class="lines">@@ -1828,6 +1832,8 @@
</span><span class="cx">             if ($conditional) {
</span><span class="cx">                 $conditionals{$name} = $conditional;
</span><span class="cx">             }
</span><ins>+            
+            $hashSize++;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><span class="lines">@@ -1855,6 +1861,8 @@
</span><span class="cx">             if ($conditional) {
</span><span class="cx">                 $conditionals{$name} = $conditional;
</span><span class="cx">             }
</span><ins>+
+            $hashSize++;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><span class="lines">@@ -1881,12 +1889,14 @@
</span><span class="cx">             if ($conditional) {
</span><span class="cx">                 $conditionals{$name} = $conditional;
</span><span class="cx">             }
</span><ins>+            
+            $hashSize++;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         $object-&gt;GenerateHashTable($hashName, $hashSize,
</span><span class="cx">                                    \@hashKeys, \@hashSpecials,
</span><span class="cx">                                    \@hashValue1, \@hashValue2,
</span><del>-                                   \%conditionals, 0);
</del><ins>+                                   \%conditionals, 1) if $hashSize &gt; 0;
</ins><span class="cx"> 
</span><span class="cx">         push(@implContent, $codeGenerator-&gt;GenerateCompileTimeCheckForEnumsIfNeeded($interface));
</span><span class="cx"> 
</span><span class="lines">@@ -1912,7 +1922,7 @@
</span><span class="cx">         \@hashKeys, \@hashSpecials,
</span><span class="cx">         \@hashValue1, \@hashValue2,
</span><span class="cx">         \%conditionals);
</span><del>-    my $hashSize = $numFunctions + $numConstants + $numPrototypeAttributes;
</del><ins>+    my $hashSize = $numPrototypeAttributes;
</ins><span class="cx"> 
</span><span class="cx">     foreach my $constant (@{$interface-&gt;constants}) {
</span><span class="cx">         my $name = $constant-&gt;name;
</span><span class="lines">@@ -1926,6 +1936,8 @@
</span><span class="cx">         if ($conditional) {
</span><span class="cx">             $conditionals{$name} = $conditional;
</span><span class="cx">         }
</span><ins>+        
+        $hashSize++;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     foreach my $function (@{$interface-&gt;functions}) {
</span><span class="lines">@@ -1952,14 +1964,20 @@
</span><span class="cx">         if ($conditional) {
</span><span class="cx">             $conditionals{$name} = $conditional;
</span><span class="cx">         }
</span><ins>+
+        $hashSize++;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    my $justGenerateValueArray = !IsDOMGlobalObject($interface);
+
</ins><span class="cx">     $object-&gt;GenerateHashTable($hashName, $hashSize,
</span><span class="cx">                                \@hashKeys, \@hashSpecials,
</span><span class="cx">                                \@hashValue1, \@hashValue2,
</span><del>-                               \%conditionals, 0);
</del><ins>+                               \%conditionals, $justGenerateValueArray);
</ins><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</del><ins>+    if ($justGenerateValueArray) {
+        push(@implContent, &quot;const ClassInfo ${className}Prototype::s_info = { \&quot;${visibleInterfaceName}Prototype\&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(${className}Prototype) };\n\n&quot;);
+    } elsif ($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</ins><span class="cx">         push(@implContent, &quot;static const HashTable&amp; get${className}PrototypeTable(VM&amp; vm)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    return getHashTableForGlobalData(vm, ${className}PrototypeTable);\n&quot;);
</span><span class="lines">@@ -4674,6 +4692,7 @@
</span><span class="cx">     my $generatingNamedConstructor = shift;
</span><span class="cx"> 
</span><span class="cx">     my $constructorClassName = $generatingNamedConstructor ? &quot;${className}NamedConstructor&quot; : &quot;${className}Constructor&quot;;
</span><ins>+    my $constructorParentClassName = $generatingNamedConstructor ? &quot;DOMConstructorWithDocument&quot; : &quot;DOMConstructorObject&quot;;
</ins><span class="cx">     my $leastConstructorLength = 0;
</span><span class="cx">     if ($codeGenerator-&gt;IsConstructorTemplate($interface, &quot;Event&quot;)) {
</span><span class="cx">         $leastConstructorLength = 1;
</span><span class="lines">@@ -4689,27 +4708,13 @@
</span><span class="cx">         $leastConstructorLength = 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($generatingNamedConstructor) {
-        push(@$outputArray, &quot;const ClassInfo ${constructorClassName}::s_info = { \&quot;${visibleInterfaceName}Constructor\&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE($constructorClassName) };\n\n&quot;);
-        push(@$outputArray, &quot;${constructorClassName}::${constructorClassName}(Structure* structure, JSDOMGlobalObject* globalObject)\n&quot;);
-        push(@$outputArray, &quot;    : DOMConstructorWithDocument(structure, globalObject)\n&quot;);
-        push(@$outputArray, &quot;{\n&quot;);
-        push(@$outputArray, &quot;}\n\n&quot;);
-    } else {
-        if ($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
-            push(@$outputArray, &quot;static const HashTable&amp; get${constructorClassName}Table(VM&amp; vm)\n&quot;);
-            push(@$outputArray, &quot;{\n&quot;);
-            push(@$outputArray, &quot;    return getHashTableForGlobalData(vm, ${constructorClassName}Table);\n&quot;);
-            push(@$outputArray, &quot;}\n\n&quot;);
-            push(@$outputArray, &quot;const ClassInfo ${constructorClassName}::s_info = { \&quot;${visibleInterfaceName}Constructor\&quot;, &amp;Base::s_info, 0, get${constructorClassName}Table, CREATE_METHOD_TABLE($constructorClassName) };\n\n&quot;);
-        } else {
-            push(@$outputArray, &quot;const ClassInfo ${constructorClassName}::s_info = { \&quot;${visibleInterfaceName}Constructor\&quot;, &amp;Base::s_info, &amp;${constructorClassName}Table, 0, CREATE_METHOD_TABLE($constructorClassName) };\n\n&quot;);
-        }
-        push(@$outputArray, &quot;${constructorClassName}::${constructorClassName}(Structure* structure, JSDOMGlobalObject* globalObject)\n&quot;);
-        push(@$outputArray, &quot;    : DOMConstructorObject(structure, globalObject)\n&quot;);
-        push(@$outputArray, &quot;{\n}\n\n&quot;);
-    }
</del><ins>+    push(@$outputArray, &quot;const ClassInfo ${constructorClassName}::s_info = { \&quot;${visibleInterfaceName}Constructor\&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE($constructorClassName) };\n\n&quot;);
</ins><span class="cx"> 
</span><ins>+    push(@$outputArray, &quot;${constructorClassName}::${constructorClassName}(Structure* structure, JSDOMGlobalObject* globalObject)\n&quot;);
+    push(@$outputArray, &quot;    : ${constructorParentClassName}(structure, globalObject)\n&quot;);
+    push(@$outputArray, &quot;{\n&quot;);
+    push(@$outputArray, &quot;}\n\n&quot;);
+
</ins><span class="cx">     push(@$outputArray, &quot;void ${constructorClassName}::finishCreation(VM&amp; vm, JSDOMGlobalObject* globalObject)\n&quot;);
</span><span class="cx">     push(@$outputArray, &quot;{\n&quot;);
</span><span class="cx">     if (IsDOMGlobalObject($interface)) {
</span><span class="lines">@@ -4725,9 +4730,15 @@
</span><span class="cx">         push(@$outputArray, &quot;    ASSERT(inherits(info()));\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;prototype, ${className}::getPrototype(vm, globalObject), DontDelete | ReadOnly);\n&quot;);
</span><span class="cx">     }
</span><del>-    push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;length, jsNumber(${leastConstructorLength}), ReadOnly | DontDelete | DontEnum);\n&quot;) if defined $leastConstructorLength;
-    push(@$outputArray, &quot;    reifyStaticProperties(vm, ${className}ConstructorTableValues, *this);\n&quot;) if ConstructorHasProperties($interface);
</del><span class="cx"> 
</span><ins>+    if (defined $leastConstructorLength) {
+        push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;length, jsNumber(${leastConstructorLength}), ReadOnly | DontDelete | DontEnum);\n&quot;);
+    }
+
+    if (ConstructorHasProperties($interface)) {
+        push(@$outputArray, &quot;    reifyStaticProperties(vm, ${className}ConstructorTableValues, *this);\n&quot;);
+    }
+
</ins><span class="cx">     push(@$outputArray, &quot;}\n\n&quot;);
</span><span class="cx"> 
</span><span class="cx">     if (IsConstructable($interface)) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -106,21 +106,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static const HashTable JSTestActiveDOMObjectTable = { 2, 3, true, JSTestActiveDOMObjectTableValues, 0, JSTestActiveDOMObjectTableIndex };
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestActiveDOMObjectConstructor::s_info = { &quot;TestActiveDOMObjectConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestActiveDOMObjectConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestActiveDOMObjectConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestActiveDOMObjectConstructorTable = { 0, 0, false, JSTestActiveDOMObjectConstructorTableValues, 0, JSTestActiveDOMObjectConstructorTableIndex };
-const ClassInfo JSTestActiveDOMObjectConstructor::s_info = { &quot;TestActiveDOMObjectConstructor&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectConstructorTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectConstructor) };
-
</del><span class="cx"> JSTestActiveDOMObjectConstructor::JSTestActiveDOMObjectConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -136,22 +123,13 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestActiveDOMObjectPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectPrototypeTable = { 2, 3, false, JSTestActiveDOMObjectPrototypeTableValues, 0, JSTestActiveDOMObjectPrototypeTableIndex };
-const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { &quot;TestActiveDOMObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
</del><ins>+const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { &quot;TestActiveDOMObjectPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestActiveDOMObjectPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestActiveDOMObject();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -100,21 +100,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static const HashTable JSTestCustomNamedGetterTable = { 1, 1, true, JSTestCustomNamedGetterTableValues, 0, JSTestCustomNamedGetterTableIndex };
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestCustomNamedGetterConstructor::s_info = { &quot;TestCustomNamedGetterConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestCustomNamedGetterConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestCustomNamedGetterConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestCustomNamedGetterConstructorTable = { 0, 0, false, JSTestCustomNamedGetterConstructorTableValues, 0, JSTestCustomNamedGetterConstructorTableIndex };
-const ClassInfo JSTestCustomNamedGetterConstructor::s_info = { &quot;TestCustomNamedGetterConstructor&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterConstructorTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterConstructor) };
-
</del><span class="cx"> JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -130,19 +117,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestCustomNamedGetterPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterPrototypeTable = { 1, 1, false, JSTestCustomNamedGetterPrototypeTableValues, 0, JSTestCustomNamedGetterPrototypeTableIndex };
-const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { &quot;TestCustomNamedGetterPrototype&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
</del><ins>+const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { &quot;TestCustomNamedGetterPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestCustomNamedGetterPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx">     static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestCustomNamedGetter();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -89,19 +89,6 @@
</span><span class="cx">     static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
-
-static const struct CompactHashIndex JSTestEventConstructorConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestEventConstructorConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestEventConstructorConstructorTable = { 0, 0, false, JSTestEventConstructorConstructorTableValues, 0, JSTestEventConstructorConstructorTableIndex };
</del><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">@@ -140,7 +127,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestEventConstructorConstructor::s_info = { &quot;TestEventConstructorConstructor&quot;, &amp;Base::s_info, &amp;JSTestEventConstructorConstructorTable, 0, CREATE_METHOD_TABLE(JSTestEventConstructorConstructor) };
</del><ins>+const ClassInfo JSTestEventConstructorConstructor::s_info = { &quot;TestEventConstructorConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestEventConstructorConstructor) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestEventConstructorConstructor::JSTestEventConstructorConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="lines">@@ -163,19 +150,6 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestEventConstructorPrototypeTableValues[] =
</span><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="lines">@@ -183,8 +157,7 @@
</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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorPrototypeTable = { 3, 7, true, JSTestEventConstructorPrototypeTableValues, 0, JSTestEventConstructorPrototypeTableIndex };
-const ClassInfo JSTestEventConstructorPrototype::s_info = { &quot;TestEventConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
</del><ins>+const ClassInfo JSTestEventConstructorPrototype::s_info = { &quot;TestEventConstructorPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestEventConstructorPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestEventConstructor();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -109,21 +109,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static const HashTable JSTestEventTargetTable = { 1, 1, true, JSTestEventTargetTableValues, 0, JSTestEventTargetTableIndex };
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestEventTargetConstructor::s_info = { &quot;TestEventTargetConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestEventTargetConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestEventTargetConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestEventTargetConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestEventTargetConstructorTable = { 0, 0, false, JSTestEventTargetConstructorTableValues, 0, JSTestEventTargetConstructorTableIndex };
-const ClassInfo JSTestEventTargetConstructor::s_info = { &quot;TestEventTargetConstructor&quot;, &amp;Base::s_info, &amp;JSTestEventTargetConstructorTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetConstructor) };
-
</del><span class="cx"> JSTestEventTargetConstructor::JSTestEventTargetConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -139,18 +126,6 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestEventTargetPrototypeTableValues[] =
</span><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="lines">@@ -159,8 +134,7 @@
</span><span class="cx">     { &quot;dispatchEvent&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionDispatchEvent), (intptr_t) (1) },
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetPrototypeTable = { 4, 7, false, JSTestEventTargetPrototypeTableValues, 0, JSTestEventTargetPrototypeTableIndex };
-const ClassInfo JSTestEventTargetPrototype::s_info = { &quot;TestEventTargetPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventTargetPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
</del><ins>+const ClassInfo JSTestEventTargetPrototype::s_info = { &quot;TestEventTargetPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestEventTargetPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx">     static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestEventTarget();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -97,21 +97,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static const HashTable JSTestExceptionTable = { 1, 1, true, JSTestExceptionTableValues, 0, JSTestExceptionTableIndex };
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestExceptionConstructor::s_info = { &quot;TestExceptionConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestExceptionConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestExceptionConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestExceptionConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestExceptionConstructorTable = { 0, 0, false, JSTestExceptionConstructorTableValues, 0, JSTestExceptionConstructorTableIndex };
-const ClassInfo JSTestExceptionConstructor::s_info = { &quot;TestExceptionConstructor&quot;, &amp;Base::s_info, &amp;JSTestExceptionConstructorTable, 0, CREATE_METHOD_TABLE(JSTestExceptionConstructor) };
-
</del><span class="cx"> JSTestExceptionConstructor::JSTestExceptionConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -127,19 +114,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestExceptionPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionPrototypeTable = { 1, 1, true, JSTestExceptionPrototypeTableValues, 0, JSTestExceptionPrototypeTableIndex };
-const ClassInfo JSTestExceptionPrototype::s_info = { &quot;TestExceptionPrototype&quot;, &amp;Base::s_info, &amp;JSTestExceptionPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
</del><ins>+const ClassInfo JSTestExceptionPrototype::s_info = { &quot;TestExceptionPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestExceptionPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestException();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -79,21 +79,8 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestGenerateIsReachableConstructor::s_info = { &quot;TestGenerateIsReachableConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachableConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestGenerateIsReachableConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestGenerateIsReachableConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestGenerateIsReachableConstructorTable = { 0, 0, false, JSTestGenerateIsReachableConstructorTableValues, 0, JSTestGenerateIsReachableConstructorTableIndex };
-const ClassInfo JSTestGenerateIsReachableConstructor::s_info = { &quot;TestGenerateIsReachableConstructor&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachableConstructorTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachableConstructor) };
-
</del><span class="cx"> JSTestGenerateIsReachableConstructor::JSTestGenerateIsReachableConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -109,19 +96,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestGenerateIsReachablePrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachablePrototypeTable = { 1, 1, true, JSTestGenerateIsReachablePrototypeTableValues, 0, JSTestGenerateIsReachablePrototypeTableIndex };
-const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { &quot;TestGenerateIsReachablePrototype&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachablePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
</del><ins>+const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { &quot;TestGenerateIsReachablePrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestGenerateIsReachablePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestGenerateIsReachable();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -201,21 +201,6 @@
</span><span class="cx"> static const HashTable JSTestInterfaceTable = { 2, 3, true, JSTestInterfaceTableValues, 0, JSTestInterfaceTableIndex };
</span><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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestInterfaceConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="lines">@@ -270,7 +255,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfaceConstructorTable = { 10, 7, true, JSTestInterfaceConstructorTableValues, 0, JSTestInterfaceConstructorTableIndex };
</del><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">@@ -308,7 +292,7 @@
</span><span class="cx">     return JSValue::encode(asObject(toJS(exec, castedThis-&gt;globalObject(), object.get())));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestInterfaceConstructor::s_info = { &quot;TestInterfaceConstructor&quot;, &amp;Base::s_info, &amp;JSTestInterfaceConstructorTable, 0, CREATE_METHOD_TABLE(JSTestInterfaceConstructor) };
</del><ins>+const ClassInfo JSTestInterfaceConstructor::s_info = { &quot;TestInterfaceConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestInterfaceConstructor) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestInterfaceConstructor::JSTestInterfaceConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="lines">@@ -334,75 +318,6 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestInterfacePrototypeTableValues[] =
</span><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="lines">@@ -488,8 +403,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfacePrototypeTable = { 17, 63, true, JSTestInterfacePrototypeTableValues, 0, JSTestInterfacePrototypeTableIndex };
-const ClassInfo JSTestInterfacePrototype::s_info = { &quot;TestInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
</del><ins>+const ClassInfo JSTestInterfacePrototype::s_info = { &quot;TestInterfacePrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestInterfacePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx">     bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestInterface();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -86,21 +86,8 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestMediaQueryListListenerConstructor::s_info = { &quot;TestMediaQueryListListenerConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestMediaQueryListListenerConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestMediaQueryListListenerConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestMediaQueryListListenerConstructorTable = { 0, 0, false, JSTestMediaQueryListListenerConstructorTableValues, 0, JSTestMediaQueryListListenerConstructorTableIndex };
-const ClassInfo JSTestMediaQueryListListenerConstructor::s_info = { &quot;TestMediaQueryListListenerConstructor&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerConstructorTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerConstructor) };
-
</del><span class="cx"> JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -116,22 +103,13 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 2, 3, true, JSTestMediaQueryListListenerPrototypeTableValues, 0, JSTestMediaQueryListListenerPrototypeTableIndex };
-const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { &quot;TestMediaQueryListListenerPrototype&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
</del><ins>+const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { &quot;TestMediaQueryListListenerPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestMediaQueryListListenerPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestMediaQueryListListener();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -107,21 +107,8 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestNamedConstructorConstructor::s_info = { &quot;TestNamedConstructorConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNamedConstructorConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestNamedConstructorConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestNamedConstructorConstructorTable = { 0, 0, false, JSTestNamedConstructorConstructorTableValues, 0, JSTestNamedConstructorConstructorTableIndex };
-const ClassInfo JSTestNamedConstructorConstructor::s_info = { &quot;TestNamedConstructorConstructor&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorConstructorTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorConstructor) };
-
</del><span class="cx"> JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -181,19 +168,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestNamedConstructorPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorPrototypeTable = { 1, 1, true, JSTestNamedConstructorPrototypeTableValues, 0, JSTestNamedConstructorPrototypeTableIndex };
-const ClassInfo JSTestNamedConstructorPrototype::s_info = { &quot;TestNamedConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
</del><ins>+const ClassInfo JSTestNamedConstructorPrototype::s_info = { &quot;TestNamedConstructorPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestNamedConstructorPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestNamedConstructor();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -84,19 +84,6 @@
</span><span class="cx">     static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
-
-static const struct CompactHashIndex JSTestNodeConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestNodeConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestNodeConstructorTable = { 0, 0, false, JSTestNodeConstructorTableValues, 0, JSTestNodeConstructorTableIndex };
</del><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">@@ -104,7 +91,7 @@
</span><span class="cx">     return JSValue::encode(asObject(toJS(exec, castedThis-&gt;globalObject(), object.get())));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestNodeConstructor::s_info = { &quot;TestNodeConstructor&quot;, &amp;Base::s_info, &amp;JSTestNodeConstructorTable, 0, CREATE_METHOD_TABLE(JSTestNodeConstructor) };
</del><ins>+const ClassInfo JSTestNodeConstructor::s_info = { &quot;TestNodeConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestNodeConstructor) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestNodeConstructor::JSTestNodeConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="lines">@@ -127,19 +114,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestNodePrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodePrototypeTable = { 1, 1, true, JSTestNodePrototypeTableValues, 0, JSTestNodePrototypeTableIndex };
-const ClassInfo JSTestNodePrototype::s_info = { &quot;TestNodePrototype&quot;, &amp;Base::s_info, &amp;JSTestNodePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNodePrototype) };
</del><ins>+const ClassInfo JSTestNodePrototype::s_info = { &quot;TestNodePrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestNodePrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestNodePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -103,21 +103,8 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestNondeterministicConstructor::s_info = { &quot;TestNondeterministicConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestNondeterministicConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNondeterministicConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestNondeterministicConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestNondeterministicConstructorTable = { 0, 0, false, JSTestNondeterministicConstructorTableValues, 0, JSTestNondeterministicConstructorTableIndex };
-const ClassInfo JSTestNondeterministicConstructor::s_info = { &quot;TestNondeterministicConstructor&quot;, &amp;Base::s_info, &amp;JSTestNondeterministicConstructorTable, 0, CREATE_METHOD_TABLE(JSTestNondeterministicConstructor) };
-
</del><span class="cx"> JSTestNondeterministicConstructor::JSTestNondeterministicConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -133,27 +120,6 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for prototype */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestNondeterministicPrototypeTableIndex[17] = {
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 3, -1 },
-    { -1, -1 },
-    { 6, -1 },
-    { -1, -1 },
-    { 0, -1 },
-    { -1, -1 },
-    { 1, 16 },
-    { -1, -1 },
-    { -1, -1 },
-    { 2, -1 },
-    { 5, -1 },
-    { 4, -1 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestNondeterministicPrototypeTableValues[] =
</span><span class="cx"> {
</span><span class="cx">     { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNondeterministicConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="lines">@@ -165,8 +131,7 @@
</span><span class="cx">     { &quot;nondeterministicZeroArgFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction), (intptr_t) (0) },
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNondeterministicPrototypeTable = { 7, 15, true, JSTestNondeterministicPrototypeTableValues, 0, JSTestNondeterministicPrototypeTableIndex };
-const ClassInfo JSTestNondeterministicPrototype::s_info = { &quot;TestNondeterministicPrototype&quot;, &amp;Base::s_info, &amp;JSTestNondeterministicPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNondeterministicPrototype) };
</del><ins>+const ClassInfo JSTestNondeterministicPrototype::s_info = { &quot;TestNondeterministicPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestNondeterministicPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestNondeterministicPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestNondeterministic();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -389,48 +389,6 @@
</span><span class="cx"> static const HashTable JSTestObjTable = { 6, 15, true, JSTestObjTableValues, 0, JSTestObjTableIndex };
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestObjConstructorTableIndex[38] = {
-    { -1, -1 },
-    { 8, 34 },
-    { 20, -1 },
-    { 2, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 0, -1 },
-    { 11, -1 },
-    { 15, -1 },
-    { 5, 32 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 9, -1 },
-    { 18, 37 },
-    { 14, -1 },
-    { 3, -1 },
-    { -1, -1 },
-    { 10, 33 },
-    { -1, -1 },
-    { -1, -1 },
-    { 7, 36 },
-    { 17, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 4, -1 },
-    { 6, -1 },
-    { 12, -1 },
-    { 13, 35 },
-    { 16, -1 },
-    { 19, -1 },
-    { 21, -1 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestObjConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="lines">@@ -465,7 +423,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjConstructorTable = { 22, 31, true, JSTestObjConstructorTableValues, 0, JSTestObjConstructorTableIndex };
</del><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">@@ -495,7 +452,7 @@
</span><span class="cx">     return JSValue::encode(asObject(toJS(exec, castedThis-&gt;globalObject(), object.get())));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestObjConstructor::s_info = { &quot;TestObjectConstructor&quot;, &amp;Base::s_info, &amp;JSTestObjConstructorTable, 0, CREATE_METHOD_TABLE(JSTestObjConstructor) };
</del><ins>+const ClassInfo JSTestObjConstructor::s_info = { &quot;TestObjectConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestObjConstructor) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestObjConstructor::JSTestObjConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="lines">@@ -519,540 +476,6 @@
</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 },
-    { 72, -1 },
-    { -1, -1 },
-    { 41, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 101, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 15, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 109, -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 },
-    { 127, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 100, -1 },
-    { 99, -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 },
-    { 135, -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 },
-    { 92, -1 },
-    { 86, -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 },
-    { 116, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 77, -1 },
-    { 69, -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 },
-    { 95, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 113, -1 },
-    { -1, -1 },
-    { 6, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 85, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 33, -1 },
-    { 51, -1 },
-    { -1, -1 },
-    { 70, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 91, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 128, -1 },
-    { 121, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 71, -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 },
-    { 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 },
-    { 88, -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 },
-    { 81, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 3, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 45, -1 },
-    { -1, -1 },
-    { 76, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 36, 526 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 8, 512 },
-    { -1, -1 },
-    { 131, -1 },
-    { -1, -1 },
-    { 58, 528 },
-    { 136, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 64, 524 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 132, -1 },
-    { -1, -1 },
-    { 102, -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 },
-    { 112, -1 },
-    { 89, -1 },
-    { 119, -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 },
-    { 129, -1 },
-    { 124, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 26, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 75, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 83, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 43, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 120, -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 },
-    { 98, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 30, -1 },
-    { 28, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 125, -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 },
-    { 87, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 46, 521 },
-    { 79, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 44, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 68, -1 },
-    { -1, -1 },
-    { 62, -1 },
-    { -1, -1 },
-    { 2, -1 },
-    { -1, -1 },
-    { 50, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 94, -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 },
-    { 67, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 106, 527 },
-    { -1, -1 },
-    { 107, -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 },
-    { 111, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 117, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 78, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 60, -1 },
-    { 52, -1 },
-    { -1, -1 },
-    { 73, -1 },
-    { 133, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 54, 516 },
-    { -1, -1 },
-    { 84, -1 },
-    { 9, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 104, -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 },
-    { 108, -1 },
-    { 13, 514 },
-    { 40, -1 },
-    { 110, -1 },
-    { -1, -1 },
-    { 7, 525 },
-    { -1, -1 },
-    { 126, -1 },
-    { 105, -1 },
-    { 74, 520 },
-    { -1, -1 },
-    { 123, -1 },
-    { 82, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { -1, -1 },
-    { 118, -1 },
-    { -1, -1 },
-    { 10, 519 },
-    { 11, -1 },
-    { 21, -1 },
-    { 42, -1 },
-    { 48, -1 },
-    { 56, -1 },
-    { 63, -1 },
-    { 66, -1 },
-    { 80, -1 },
-    { 90, -1 },
-    { 93, -1 },
-    { 96, -1 },
-    { 97, -1 },
-    { 103, -1 },
-    { 114, -1 },
-    { 115, -1 },
-    { 122, -1 },
-    { 130, -1 },
-    { 134, -1 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestObjPrototypeTableValues[] =
</span><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="lines">@@ -1222,8 +645,7 @@
</span><span class="cx">     { &quot;any&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionAny), (intptr_t) (2) },
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjPrototypeTable = { 137, 511, true, JSTestObjPrototypeTableValues, 0, JSTestObjPrototypeTableIndex };
-const ClassInfo JSTestObjPrototype::s_info = { &quot;TestObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestObjPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
</del><ins>+const ClassInfo JSTestObjPrototype::s_info = { &quot;TestObjectPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestObjPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestObj();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -89,19 +89,6 @@
</span><span class="cx">     static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
-
-static const struct CompactHashIndex JSTestOverloadedConstructorsConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestOverloadedConstructorsConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestOverloadedConstructorsConstructorTable = { 0, 0, false, JSTestOverloadedConstructorsConstructorTableValues, 0, JSTestOverloadedConstructorsConstructorTableIndex };
</del><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">@@ -167,7 +154,7 @@
</span><span class="cx">     return throwVMTypeError(exec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestOverloadedConstructorsConstructor::s_info = { &quot;TestOverloadedConstructorsConstructor&quot;, &amp;Base::s_info, &amp;JSTestOverloadedConstructorsConstructorTable, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsConstructor) };
</del><ins>+const ClassInfo JSTestOverloadedConstructorsConstructor::s_info = { &quot;TestOverloadedConstructorsConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsConstructor) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestOverloadedConstructorsConstructor::JSTestOverloadedConstructorsConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="lines">@@ -190,19 +177,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestOverloadedConstructorsPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 1, 1, true, JSTestOverloadedConstructorsPrototypeTableValues, 0, JSTestOverloadedConstructorsPrototypeTableIndex };
-const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { &quot;TestOverloadedConstructorsPrototype&quot;, &amp;Base::s_info, &amp;JSTestOverloadedConstructorsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
</del><ins>+const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { &quot;TestOverloadedConstructorsPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestOverloadedConstructorsPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestOverloadedConstructors();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -94,21 +94,8 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSTestSerializedScriptValueInterfaceConstructor::s_info = { &quot;TestSerializedScriptValueInterfaceConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfaceConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestSerializedScriptValueInterfaceConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSTestSerializedScriptValueInterfaceConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSTestSerializedScriptValueInterfaceConstructorTable = { 0, 0, false, JSTestSerializedScriptValueInterfaceConstructorTableValues, 0, JSTestSerializedScriptValueInterfaceConstructorTableIndex };
-const ClassInfo JSTestSerializedScriptValueInterfaceConstructor::s_info = { &quot;TestSerializedScriptValueInterfaceConstructor&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfaceConstructorTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfaceConstructor) };
-
</del><span class="cx"> JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -124,27 +111,6 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestSerializedScriptValueInterfacePrototypeTableValues[] =
</span><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="lines">@@ -155,8 +121,7 @@
</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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 6, 15, true, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0, JSTestSerializedScriptValueInterfacePrototypeTableIndex };
-const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { &quot;TestSerializedScriptValueInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
</del><ins>+const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { &quot;TestSerializedScriptValueInterfacePrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestSerializedScriptValueInterfacePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestSerializedScriptValueInterface();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -139,17 +139,11 @@
</span><span class="cx"> static const HashTable JSTestTypedefsTable = { 0, 1, false, JSTestTypedefsTableValues, 0, JSTestTypedefsTableIndex };
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSTestTypedefsConstructorTableIndex[1] = {
-    { 0, -1 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestTypedefsConstructorTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsConstructorTable = { 1, 0, true, JSTestTypedefsConstructorTableValues, 0, JSTestTypedefsConstructorTableIndex };
</del><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">@@ -165,7 +159,7 @@
</span><span class="cx">     return JSValue::encode(asObject(toJS(exec, castedThis-&gt;globalObject(), object.get())));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestTypedefsConstructor::s_info = { &quot;TestTypedefsConstructor&quot;, &amp;Base::s_info, &amp;JSTestTypedefsConstructorTable, 0, CREATE_METHOD_TABLE(JSTestTypedefsConstructor) };
</del><ins>+const ClassInfo JSTestTypedefsConstructor::s_info = { &quot;TestTypedefsConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestTypedefsConstructor) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestTypedefsConstructor::JSTestTypedefsConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="lines">@@ -189,76 +183,6 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSTestTypedefsPrototypeTableValues[] =
</span><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="lines">@@ -280,8 +204,7 @@
</span><span class="cx">     { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) },
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsPrototypeTable = { 17, 63, true, JSTestTypedefsPrototypeTableValues, 0, JSTestTypedefsPrototypeTableIndex };
-const ClassInfo JSTestTypedefsPrototype::s_info = { &quot;TestTypedefsPrototype&quot;, &amp;Base::s_info, &amp;JSTestTypedefsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
</del><ins>+const ClassInfo JSTestTypedefsPrototype::s_info = { &quot;TestTypedefsPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSTestTypedefsPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestTypedefs();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -83,21 +83,8 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSattributeConstructor::s_info = { &quot;attributeConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSattributeConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSattributeConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSattributeConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSattributeConstructorTable = { 0, 0, false, JSattributeConstructorTableValues, 0, JSattributeConstructorTableIndex };
-const ClassInfo JSattributeConstructor::s_info = { &quot;attributeConstructor&quot;, &amp;Base::s_info, &amp;JSattributeConstructorTable, 0, CREATE_METHOD_TABLE(JSattributeConstructor) };
-
</del><span class="cx"> JSattributeConstructor::JSattributeConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -113,22 +100,13 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSattributePrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributePrototypeTable = { 2, 3, true, JSattributePrototypeTableValues, 0, JSattributePrototypeTableIndex };
-const ClassInfo JSattributePrototype::s_info = { &quot;attributePrototype&quot;, &amp;Base::s_info, &amp;JSattributePrototypeTable, 0, CREATE_METHOD_TABLE(JSattributePrototype) };
</del><ins>+const ClassInfo JSattributePrototype::s_info = { &quot;attributePrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSattributePrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSattributePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSattribute();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -79,21 +79,8 @@
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-/* Hash table for constructor */
</del><ins>+const ClassInfo JSreadonlyConstructor::s_info = { &quot;readonlyConstructor&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSreadonlyConstructor) };
</ins><span class="cx"> 
</span><del>-static const struct CompactHashIndex JSreadonlyConstructorTableIndex[1] = {
-    { -1, -1 },
-};
-
-
-static const HashTableValue JSreadonlyConstructorTableValues[] =
-{
-    { 0, 0, NoIntrinsic, 0, 0 }
-};
-
-static const HashTable JSreadonlyConstructorTable = { 0, 0, false, JSreadonlyConstructorTableValues, 0, JSreadonlyConstructorTableIndex };
-const ClassInfo JSreadonlyConstructor::s_info = { &quot;readonlyConstructor&quot;, &amp;Base::s_info, &amp;JSreadonlyConstructorTable, 0, CREATE_METHOD_TABLE(JSreadonlyConstructor) };
-
</del><span class="cx"> JSreadonlyConstructor::JSreadonlyConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     : DOMConstructorObject(structure, globalObject)
</span><span class="cx"> {
</span><span class="lines">@@ -109,19 +96,12 @@
</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 },
-};
-
-
</del><span class="cx"> static const HashTableValue JSreadonlyPrototypeTableValues[] =
</span><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><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyPrototypeTable = { 1, 1, true, JSreadonlyPrototypeTableValues, 0, JSreadonlyPrototypeTableIndex };
-const ClassInfo JSreadonlyPrototype::s_info = { &quot;readonlyPrototype&quot;, &amp;Base::s_info, &amp;JSreadonlyPrototypeTable, 0, CREATE_METHOD_TABLE(JSreadonlyPrototype) };
</del><ins>+const ClassInfo JSreadonlyPrototype::s_info = { &quot;readonlyPrototype&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSreadonlyPrototype) };
</ins><span class="cx"> 
</span><span class="cx"> void JSreadonlyPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h (170255 => 170256)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2014-06-21 22:33:28 UTC (rev 170255)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2014-06-21 23:27:22 UTC (rev 170256)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSreadonly();
</span><ins>+
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span></span></pre>
</div>
</div>

</body>
</html>