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