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

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

<h3>Log Message</h3>
<pre>Change custom getter signature to make the base reference an object pointer
https://bugs.webkit.org/show_bug.cgi?id=128279

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Make custom getters take a JSObject* instead of EncodedJSValue as the base
reference.  This allows us to drop one pointer from the JSVALUE32_64 calling
convention.

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject&lt;Parent&gt;::staticFunctionGetter):
(JSC::JSCallbackObject&lt;Parent&gt;::callbackGetter):
* jit/JITOperations.cpp:
* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

Update everything to the new calling convention.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

Update everything to the new calling convention.

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreAPIJSCallbackObjecth">trunk/Source/JavaScriptCore/API/JSCallbackObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSCallbackObjectFunctionsh">trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOperationscpp">trunk/Source/JavaScriptCore/jit/JITOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitRepatchcpp">trunk/Source/JavaScriptCore/jit/Repatch.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSActivationcpp">trunk/Source/JavaScriptCore/runtime/JSActivation.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSActivationh">trunk/Source/JavaScriptCore/runtime/JSActivation.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSFunctioncpp">trunk/Source/JavaScriptCore/runtime/JSFunction.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSFunctionh">trunk/Source/JavaScriptCore/runtime/JSFunction.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjecth">trunk/Source/JavaScriptCore/runtime/JSObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeNumberConstructorcpp">trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimePropertySloth">trunk/Source/JavaScriptCore/runtime/PropertySlot.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExpConstructorcpp">trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExpObjectcpp">trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCSSStyleDeclarationCustomcpp">trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingcpp">trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingh">trunk/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMMimeTypeArrayCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMPluginArrayCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMPluginCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLAllCollectionCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLCollectionCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLFormControlsCollectionCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLFormElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLFormElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLFrameSetElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.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="#trunkSourceWebCorebindingsjsJSNamedNodeMapCustomcpp">trunk/Source/WebCore/bindings/js/JSNamedNodeMapCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPluginElementFunctionscpp">trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPluginElementFunctionsh">trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSRTCStatsResponseCustomcpp">trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSStorageCustomcpp">trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSStyleSheetListCustomcpp">trunk/Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_arraycpp">trunk/Source/WebCore/bridge/runtime_array.cpp</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_arrayh">trunk/Source/WebCore/bridge/runtime_array.h</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_methodcpp">trunk/Source/WebCore/bridge/runtime_method.cpp</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_methodh">trunk/Source/WebCore/bridge/runtime_method.h</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_objectcpp">trunk/Source/WebCore/bridge/runtime_object.cpp</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_objecth">trunk/Source/WebCore/bridge/runtime_object.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsNetscapeJSNPObjectcpp">trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsNetscapeJSNPObjecth">trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreAPIJSCallbackObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSCallbackObject.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSCallbackObject.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/API/JSCallbackObject.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -211,8 +211,8 @@
</span><span class="cx">     static EncodedJSValue JSC_HOST_CALL construct(ExecState*);
</span><span class="cx">    
</span><span class="cx">     JSValue getStaticValue(ExecState*, PropertyName);
</span><del>-    static EncodedJSValue staticFunctionGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-    static EncodedJSValue callbackGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+    static EncodedJSValue staticFunctionGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+    static EncodedJSValue callbackGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx">     OwnPtr&lt;JSCallbackObjectData&gt; m_callbackObjectData;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSCallbackObjectFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -591,7 +591,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;class Parent&gt;
</span><del>-EncodedJSValue JSCallbackObject&lt;Parent&gt;::staticFunctionGetter(ExecState* exec, EncodedJSValue slotParent, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSCallbackObject&lt;Parent&gt;::staticFunctionGetter(ExecState* exec, JSObject* slotParent, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     JSCallbackObject* thisObj = asCallbackObject(slotParent);
</span><span class="cx">     
</span><span class="lines">@@ -619,7 +619,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;class Parent&gt;
</span><del>-EncodedJSValue JSCallbackObject&lt;Parent&gt;::callbackGetter(ExecState* exec, EncodedJSValue slotParent, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSCallbackObject&lt;Parent&gt;::callbackGetter(ExecState* exec, JSObject* slotParent, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     JSCallbackObject* thisObj = asCallbackObject(slotParent);
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -1,3 +1,62 @@
</span><ins>+2014-02-05  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Change custom getter signature to make the base reference an object pointer
+        https://bugs.webkit.org/show_bug.cgi?id=128279
+
+        Reviewed by Geoffrey Garen.
+
+        Make custom getters take a JSObject* instead of EncodedJSValue as the base
+        reference.  This allows us to drop one pointer from the JSVALUE32_64 calling
+        convention.
+
+        * API/JSCallbackObject.h:
+        * API/JSCallbackObjectFunctions.h:
+        (JSC::JSCallbackObject&lt;Parent&gt;::staticFunctionGetter):
+        (JSC::JSCallbackObject&lt;Parent&gt;::callbackGetter):
+        * jit/JITOperations.cpp:
+        * jit/Repatch.cpp:
+        (JSC::generateProtoChainAccessStub):
+        (JSC::tryBuildGetByIDList):
+        * runtime/JSActivation.cpp:
+        (JSC::JSActivation::argumentsGetter):
+        * runtime/JSActivation.h:
+        * runtime/JSFunction.cpp:
+        (JSC::JSFunction::argumentsGetter):
+        (JSC::JSFunction::callerGetter):
+        (JSC::JSFunction::lengthGetter):
+        (JSC::JSFunction::nameGetter):
+        * runtime/JSFunction.h:
+        * runtime/JSObject.h:
+        (JSC::PropertySlot::getValue):
+        * runtime/NumberConstructor.cpp:
+        (JSC::numberConstructorNaNValue):
+        (JSC::numberConstructorNegInfinity):
+        (JSC::numberConstructorPosInfinity):
+        (JSC::numberConstructorMaxValue):
+        (JSC::numberConstructorMinValue):
+        * runtime/PropertySlot.h:
+        * runtime/RegExpConstructor.cpp:
+        (JSC::regExpConstructorDollar1):
+        (JSC::regExpConstructorDollar2):
+        (JSC::regExpConstructorDollar3):
+        (JSC::regExpConstructorDollar4):
+        (JSC::regExpConstructorDollar5):
+        (JSC::regExpConstructorDollar6):
+        (JSC::regExpConstructorDollar7):
+        (JSC::regExpConstructorDollar8):
+        (JSC::regExpConstructorDollar9):
+        (JSC::regExpConstructorInput):
+        (JSC::regExpConstructorMultiline):
+        (JSC::regExpConstructorLastMatch):
+        (JSC::regExpConstructorLastParen):
+        (JSC::regExpConstructorLeftContext):
+        (JSC::regExpConstructorRightContext):
+        * runtime/RegExpObject.cpp:
+        (JSC::regExpObjectGlobal):
+        (JSC::regExpObjectIgnoreCase):
+        (JSC::regExpObjectMultiline):
+        (JSC::regExpObjectSource):
+
</ins><span class="cx"> 2014-02-05  Andreas Kling  &lt;akling@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove ENABLE(DIRECTORY_UPLOAD).
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOperations.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">     
</span><span class="cx">     Identifier ident(vm, uid);
</span><span class="cx">     
</span><del>-    return function(exec, JSValue::encode(base), JSValue::encode(base), ident);
</del><ins>+    return function(exec, jsCast&lt;JSObject*&gt;(base), JSValue::encode(base), ident);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JIT_OPERATION operationCallGetter(ExecState* exec, JSCell* base, JSCell* getterSetter)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitRepatchcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/Repatch.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/Repatch.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/jit/Repatch.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -304,7 +304,7 @@
</span><span class="cx">             operationFunction = operationCallGetter;
</span><span class="cx">         } else {
</span><span class="cx"> #if USE(JSVALUE64)
</span><del>-            // EncodedJSValue (*GetValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName);
</del><ins>+            // EncodedJSValue (*GetValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, PropertyName);
</ins><span class="cx">             stubJit.setupArgumentsWithExecState(MacroAssembler::TrustedImmPtr(protoObject), scratchGPR, MacroAssembler::TrustedImmPtr(propertyName.impl()));
</span><span class="cx">             operationFunction = FunctionPtr(slot.customGetter());
</span><span class="cx"> #else
</span><span class="lines">@@ -617,7 +617,7 @@
</span><span class="cx">                 operationFunction = operationCallGetter;
</span><span class="cx">             } else {
</span><span class="cx"> #if USE(JSVALUE64)
</span><del>-                // EncodedJSValue (*GetValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName);
</del><ins>+                // EncodedJSValue (*GetValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, PropertyName);
</ins><span class="cx">                 stubJit.setupArgumentsWithExecState(baseGPR, baseGPR, MacroAssembler::TrustedImmPtr(ident.impl()));
</span><span class="cx">                 operationFunction = FunctionPtr(slot.customGetter());
</span><span class="cx"> #else
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSActivationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSActivation.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSActivation.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/JSActivation.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -210,9 +210,9 @@
</span><span class="cx">     return exec-&gt;globalThisValue();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSActivation::argumentsGetter(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue JSActivation::argumentsGetter(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    JSActivation* activation = jsCast&lt;JSActivation*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSActivation* activation = jsCast&lt;JSActivation*&gt;(slotBase);
</ins><span class="cx">     CallFrame* callFrame = CallFrame::create(reinterpret_cast&lt;Register*&gt;(activation-&gt;m_registers));
</span><span class="cx">     ASSERT(!activation-&gt;isTornOff() &amp;&amp; (callFrame-&gt;codeBlock()-&gt;usesArguments() || callFrame-&gt;codeBlock()-&gt;usesEval()));
</span><span class="cx">     if (activation-&gt;isTornOff() || !(callFrame-&gt;codeBlock()-&gt;usesArguments() || callFrame-&gt;codeBlock()-&gt;usesEval()))
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSActivationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSActivation.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSActivation.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/JSActivation.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     bool symbolTablePut(ExecState*, PropertyName, JSValue, bool shouldThrow);
</span><span class="cx">     bool symbolTablePutWithAttributes(VM&amp;, PropertyName, JSValue, unsigned attributes);
</span><span class="cx"> 
</span><del>-    static EncodedJSValue argumentsGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+    static EncodedJSValue argumentsGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx">     static size_t allocationSize(SymbolTable*);
</span><span class="cx">     static size_t storageOffset();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSFunctioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSFunction.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSFunction.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/JSFunction.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -223,9 +223,9 @@
</span><span class="cx">     return functor.result();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSFunction::argumentsGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue JSFunction::argumentsGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(slotBase);
</ins><span class="cx">     ASSERT(!thisObj-&gt;isHostFunction());
</span><span class="cx"> 
</span><span class="cx">     return JSValue::encode(retrieveArguments(exec, thisObj));
</span><span class="lines">@@ -278,9 +278,9 @@
</span><span class="cx">     return functor.result();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSFunction::callerGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue JSFunction::callerGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(slotBase);
</ins><span class="cx">     ASSERT(!thisObj-&gt;isHostFunction());
</span><span class="cx">     JSValue caller = retrieveCallerFunction(exec, thisObj);
</span><span class="cx"> 
</span><span class="lines">@@ -293,16 +293,16 @@
</span><span class="cx">     return JSValue::encode(throwTypeError(exec, ASCIILiteral(&quot;Function.caller used to retrieve strict caller&quot;)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSFunction::lengthGetter(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue JSFunction::lengthGetter(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(slotBase);
</ins><span class="cx">     ASSERT(!thisObj-&gt;isHostFunction());
</span><span class="cx">     return JSValue::encode(jsNumber(thisObj-&gt;jsExecutable()-&gt;parameterCount()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSFunction::nameGetter(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue JSFunction::nameGetter(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSFunction* thisObj = jsCast&lt;JSFunction*&gt;(slotBase);
</ins><span class="cx">     ASSERT(!thisObj-&gt;isHostFunction());
</span><span class="cx">     return JSValue::encode(thisObj-&gt;jsExecutable()-&gt;nameValue());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSFunctionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSFunction.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSFunction.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/JSFunction.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -172,10 +172,10 @@
</span><span class="cx">         
</span><span class="cx">         JS_EXPORT_PRIVATE bool isHostFunctionNonInline() const;
</span><span class="cx"> 
</span><del>-        static EncodedJSValue argumentsGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-        static EncodedJSValue callerGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-        static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-        static EncodedJSValue nameGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+        static EncodedJSValue argumentsGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+        static EncodedJSValue callerGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+        static EncodedJSValue lengthGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+        static EncodedJSValue nameGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx">         WriteBarrier&lt;ExecutableBase&gt; m_executable;
</span><span class="cx">         WriteBarrier&lt;JSScope&gt; m_scope;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -1543,10 +1543,10 @@
</span><span class="cx">     if (m_propertyType == TypeValue)
</span><span class="cx">         return JSValue::decode(m_data.value);
</span><span class="cx">     if (m_propertyType == TypeCustomIndex)
</span><del>-        return JSValue::decode(m_data.customIndex.getIndexValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), m_data.customIndex.index));
</del><ins>+        return JSValue::decode(m_data.customIndex.getIndexValue(exec, slotBase(), JSValue::encode(m_thisValue), m_data.customIndex.index));
</ins><span class="cx">     if (m_propertyType == TypeGetter)
</span><span class="cx">         return functionGetter(exec);
</span><del>-    return JSValue::decode(m_data.custom.getValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), propertyName));
</del><ins>+    return JSValue::decode(m_data.custom.getValue(exec, slotBase(), JSValue::encode(m_thisValue), propertyName));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE JSValue PropertySlot::getValue(ExecState* exec, unsigned propertyName) const
</span><span class="lines">@@ -1554,10 +1554,10 @@
</span><span class="cx">     if (m_propertyType == TypeValue)
</span><span class="cx">         return JSValue::decode(m_data.value);
</span><span class="cx">     if (m_propertyType == TypeCustomIndex)
</span><del>-        return JSValue::decode(m_data.customIndex.getIndexValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), m_data.customIndex.index));
</del><ins>+        return JSValue::decode(m_data.customIndex.getIndexValue(exec, slotBase(), JSValue::encode(m_thisValue), m_data.customIndex.index));
</ins><span class="cx">     if (m_propertyType == TypeGetter)
</span><span class="cx">         return functionGetter(exec);
</span><del>-    return JSValue::decode(m_data.custom.getValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), Identifier::from(exec, propertyName)));
</del><ins>+    return JSValue::decode(m_data.custom.getValue(exec, slotBase(), JSValue::encode(m_thisValue), Identifier::from(exec, propertyName)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeNumberConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -29,11 +29,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-static EncodedJSValue numberConstructorNaNValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue numberConstructorNegInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue numberConstructorPosInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue numberConstructorMaxValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue numberConstructorMinValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+static EncodedJSValue numberConstructorNaNValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue numberConstructorNegInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue numberConstructorPosInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue numberConstructorMaxValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue numberConstructorMinValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="lines">@@ -77,27 +77,27 @@
</span><span class="cx">     return getStaticValueSlot&lt;NumberConstructor, InternalFunction&gt;(exec, ExecState::numberConstructorTable(exec-&gt;vm()), jsCast&lt;NumberConstructor*&gt;(object), propertyName, slot);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue numberConstructorNaNValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
</del><ins>+static EncodedJSValue numberConstructorNaNValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsNaN());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue numberConstructorNegInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
</del><ins>+static EncodedJSValue numberConstructorNegInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsNumber(-std::numeric_limits&lt;double&gt;::infinity()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue numberConstructorPosInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
</del><ins>+static EncodedJSValue numberConstructorPosInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsNumber(std::numeric_limits&lt;double&gt;::infinity()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue numberConstructorMaxValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
</del><ins>+static EncodedJSValue numberConstructorMaxValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsNumber(1.7976931348623157E+308));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue numberConstructorMinValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
</del><ins>+static EncodedJSValue numberConstructorMinValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsNumber(5E-324));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimePropertySloth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/PropertySlot.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/PropertySlot.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/PropertySlot.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> class ExecState;
</span><span class="cx"> class GetterSetter;
</span><ins>+class JSObject;
</ins><span class="cx"> 
</span><span class="cx"> // ECMA 262-3 8.6.1
</span><span class="cx"> // Property attributes
</span><span class="lines">@@ -61,8 +62,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    typedef EncodedJSValue (*GetValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName);
-    typedef EncodedJSValue (*GetIndexValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, unsigned);
</del><ins>+    typedef EncodedJSValue (*GetValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, PropertyName);
+    typedef EncodedJSValue (*GetIndexValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, unsigned);
</ins><span class="cx"> 
</span><span class="cx">     JSValue getValue(ExecState*, PropertyName) const;
</span><span class="cx">     JSValue getValue(ExecState*, unsigned propertyName) const;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExpConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -29,21 +29,21 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-static EncodedJSValue regExpConstructorInput(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorMultiline(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorLastMatch(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorLastParen(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorLeftContext(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorRightContext(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar1(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar2(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar3(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar4(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar5(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar6(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar7(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar8(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpConstructorDollar9(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+static EncodedJSValue regExpConstructorInput(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorMultiline(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorLastMatch(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorLastParen(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorLeftContext(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorRightContext(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar1(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar2(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar3(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar4(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar5(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar6(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar7(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar8(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpConstructorDollar9(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx"> static void setRegExpConstructorInput(ExecState*, JSObject*, EncodedJSValue, EncodedJSValue);
</span><span class="cx"> static void setRegExpConstructorMultiline(ExecState*, JSObject*, EncodedJSValue, EncodedJSValue);
</span><span class="lines">@@ -163,77 +163,77 @@
</span><span class="cx">     return jsCast&lt;RegExpConstructor*&gt;(JSValue::decode(value));
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-EncodedJSValue regExpConstructorDollar1(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar1(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 1));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar2(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar2(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 2));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar3(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar3(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 3));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar4(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar4(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 4));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar5(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar5(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 5));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar6(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar6(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 6));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar7(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar7(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 7));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar8(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar8(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 8));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorDollar9(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorDollar9(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 9));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorInput(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorInput(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;input());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorMultiline(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorMultiline(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsBoolean(asRegExpConstructor(slotBase)-&gt;multiline()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorLastMatch(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorLastMatch(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getBackref(exec, 0));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorLastParen(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorLastParen(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getLastParen(exec));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorLeftContext(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorLeftContext(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getLeftContext(exec));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpConstructorRightContext(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpConstructorRightContext(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getRightContext(exec));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExpObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -39,10 +39,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-static EncodedJSValue regExpObjectGlobal(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpObjectIgnoreCase(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpObjectMultiline(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-static EncodedJSValue regExpObjectSource(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+static EncodedJSValue regExpObjectGlobal(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpObjectIgnoreCase(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpObjectMultiline(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+static EncodedJSValue regExpObjectSource(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="lines">@@ -160,17 +160,17 @@
</span><span class="cx">     return jsCast&lt;RegExpObject*&gt;(JSValue::decode(value));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpObjectGlobal(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpObjectGlobal(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsBoolean(asRegExpObject(slotBase)-&gt;regExp()-&gt;global()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue regExpObjectIgnoreCase(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpObjectIgnoreCase(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsBoolean(asRegExpObject(slotBase)-&gt;regExp()-&gt;ignoreCase()));
</span><span class="cx"> }
</span><span class="cx">  
</span><del>-EncodedJSValue regExpObjectMultiline(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpObjectMultiline(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {            
</span><span class="cx">     return JSValue::encode(jsBoolean(asRegExpObject(slotBase)-&gt;regExp()-&gt;multiline()));
</span><span class="cx"> }
</span><span class="lines">@@ -283,7 +283,7 @@
</span><span class="cx"> 
</span><span class="cx">     
</span><span class="cx">     
</span><del>-EncodedJSValue regExpObjectSource(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
</del><ins>+EncodedJSValue regExpObjectSource(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     String pattern = asRegExpObject(slotBase)-&gt;regExp()-&gt;pattern();
</span><span class="cx">     if (pattern.is8Bit())
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/ChangeLog        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -1,3 +1,76 @@
</span><ins>+2014-02-05  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Change custom getter signature to make the base reference an object pointer
+        https://bugs.webkit.org/show_bug.cgi?id=128279
+
+        Reviewed by Geoffrey Garen.
+
+        Update everything to the new calling convention.
+
+        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
+        (WebCore::cssPropertyGetterCallback):
+        * bindings/js/JSDOMBinding.cpp:
+        (WebCore::objectToStringFunctionGetter):
+        * bindings/js/JSDOMBinding.h:
+        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
+        (WebCore::JSDOMMimeTypeArray::nameGetter):
+        * bindings/js/JSDOMPluginArrayCustom.cpp:
+        (WebCore::JSDOMPluginArray::nameGetter):
+        * bindings/js/JSDOMPluginCustom.cpp:
+        (WebCore::JSDOMPlugin::nameGetter):
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::nonCachingStaticFunctionGetter):
+        (WebCore::childFrameGetter):
+        (WebCore::indexGetter):
+        (WebCore::namedItemGetter):
+        * bindings/js/JSHTMLAllCollectionCustom.cpp:
+        (WebCore::JSHTMLAllCollection::nameGetter):
+        * bindings/js/JSHTMLCollectionCustom.cpp:
+        (WebCore::JSHTMLCollection::nameGetter):
+        * bindings/js/JSHTMLDocumentCustom.cpp:
+        (WebCore::JSHTMLDocument::nameGetter):
+        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
+        (WebCore::JSHTMLFormControlsCollection::nameGetter):
+        * bindings/js/JSHTMLFormElementCustom.cpp:
+        (WebCore::JSHTMLFormElement::nameGetter):
+        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+        (WebCore::JSHTMLFrameSetElement::nameGetter):
+        * bindings/js/JSHistoryCustom.cpp:
+        (WebCore::nonCachingStaticBackFunctionGetter):
+        (WebCore::nonCachingStaticForwardFunctionGetter):
+        (WebCore::nonCachingStaticGoFunctionGetter):
+        * bindings/js/JSLocationCustom.cpp:
+        (WebCore::nonCachingStaticReplaceFunctionGetter):
+        (WebCore::nonCachingStaticReloadFunctionGetter):
+        (WebCore::nonCachingStaticAssignFunctionGetter):
+        * bindings/js/JSNamedNodeMapCustom.cpp:
+        (WebCore::JSNamedNodeMap::nameGetter):
+        * bindings/js/JSPluginElementFunctions.cpp:
+        (WebCore::pluginElementPropertyGetter):
+        * bindings/js/JSPluginElementFunctions.h:
+        * bindings/js/JSRTCStatsResponseCustom.cpp:
+        (WebCore::JSRTCStatsResponse::nameGetter):
+        * bindings/js/JSStorageCustom.cpp:
+        (WebCore::JSStorage::nameGetter):
+        * bindings/js/JSStyleSheetListCustom.cpp:
+        (WebCore::JSStyleSheetList::nameGetter):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateHeader):
+        (GenerateImplementation):
+        * bridge/runtime_array.cpp:
+        (JSC::RuntimeArray::lengthGetter):
+        (JSC::RuntimeArray::indexGetter):
+        * bridge/runtime_array.h:
+        * bridge/runtime_method.cpp:
+        (JSC::RuntimeMethod::lengthGetter):
+        * bridge/runtime_method.h:
+        * bridge/runtime_object.cpp:
+        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
+        (JSC::Bindings::RuntimeObject::fieldGetter):
+        (JSC::Bindings::RuntimeObject::methodGetter):
+        * bridge/runtime_object.h:
+
</ins><span class="cx"> 2014-02-04  Andy Estes  &lt;aestes@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Buffer incoming data in ContentFilter when using NEFilterSource
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCSSStyleDeclarationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx">     return getPropertyValueFallback(exec, thisObj, propertyID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue cssPropertyGetterPixelOrPosPrefixCallback(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, unsigned propertyID)
</del><ins>+static EncodedJSValue cssPropertyGetterPixelOrPosPrefixCallback(ExecState* exec, JSObject*, EncodedJSValue thisValue, unsigned propertyID)
</ins><span class="cx"> {
</span><span class="cx">     JSCSSStyleDeclaration* thisObject = jsDynamicCast&lt;JSCSSStyleDeclaration*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!thisObject)
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx">     return getPropertyValueFallback(exec, thisObj, propertyID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue cssPropertyGetterCallback(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, unsigned propertyID)
</del><ins>+static EncodedJSValue cssPropertyGetterCallback(ExecState* exec, JSObject*, EncodedJSValue thisValue, unsigned propertyID)
</ins><span class="cx"> {
</span><span class="cx">     JSCSSStyleDeclaration* thisObject = jsDynamicCast&lt;JSCSSStyleDeclaration*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!thisObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx">     frame-&gt;document()-&gt;domWindow()-&gt;printErrorMessage(message);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue objectToStringFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue objectToStringFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 0, propertyName.publicName(), objectProtoFuncToString));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -578,7 +578,7 @@
</span><span class="cx"> bool shouldAllowAccessToDOMWindow(JSC::ExecState*, DOMWindow&amp;, String&amp; message);
</span><span class="cx"> 
</span><span class="cx"> void printErrorMessageForFrame(Frame*, const String&amp; message);
</span><del>-JSC::EncodedJSValue objectToStringFunctionGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</del><ins>+JSC::EncodedJSValue objectToStringFunctionGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</ins><span class="cx"> 
</span><span class="cx"> inline JSC::JSValue jsStringWithCache(JSC::ExecState* exec, const String&amp; s)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMMimeTypeArrayCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx">     return mimeTypeArray-&gt;canGetItemsForName(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSDOMMimeTypeArray::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSDOMMimeTypeArray::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSDOMMimeTypeArray* thisObj = jsDynamicCast&lt;JSDOMMimeTypeArray*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSDOMMimeTypeArray* thisObj = jsDynamicCast&lt;JSDOMMimeTypeArray*&gt;(slotBase);
</ins><span class="cx">     if (!thisObj)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().namedItem(propertyNameToAtomicString(propertyName))));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMPluginArrayCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx">     return pluginArray-&gt;canGetItemsForName(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSDOMPluginArray::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSDOMPluginArray::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSDOMPluginArray* thisObj = jsCast&lt;JSDOMPluginArray*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSDOMPluginArray* thisObj = jsCast&lt;JSDOMPluginArray*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().namedItem(propertyNameToAtomicString(propertyName))));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMPluginCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx">     return plugin-&gt;canGetItemsForName(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSDOMPlugin::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSDOMPlugin::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSDOMPlugin* thisObj = jsCast&lt;JSDOMPlugin*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSDOMPlugin* thisObj = jsCast&lt;JSDOMPlugin*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().namedItem(propertyNameToAtomicString(propertyName))));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -72,24 +72,24 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;NativeFunction nativeFunction, int length&gt;
</span><del>-EncodedJSValue nonCachingStaticFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue nonCachingStaticFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), length, propertyName.publicName(), nativeFunction));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue childFrameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue childFrameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    return JSValue::encode(toJS(exec, jsCast&lt;JSDOMWindow*&gt;(JSValue::decode(slotBase))-&gt;impl().frame()-&gt;tree().scopedChild(propertyNameToAtomicString(propertyName))-&gt;document()-&gt;domWindow()));
</del><ins>+    return JSValue::encode(toJS(exec, jsCast&lt;JSDOMWindow*&gt;(slotBase)-&gt;impl().frame()-&gt;tree().scopedChild(propertyNameToAtomicString(propertyName))-&gt;document()-&gt;domWindow()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)
</del><ins>+static EncodedJSValue indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)
</ins><span class="cx"> {
</span><del>-    return JSValue::encode(toJS(exec, jsCast&lt;JSDOMWindow*&gt;(JSValue::decode(slotBase))-&gt;impl().frame()-&gt;tree().scopedChild(index)-&gt;document()-&gt;domWindow()));
</del><ins>+    return JSValue::encode(toJS(exec, jsCast&lt;JSDOMWindow*&gt;(slotBase)-&gt;impl().frame()-&gt;tree().scopedChild(index)-&gt;document()-&gt;domWindow()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue namedItemGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue namedItemGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSDOMWindowBase* thisObj = jsCast&lt;JSDOMWindow*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSDOMWindowBase* thisObj = jsCast&lt;JSDOMWindow*&gt;(slotBase);
</ins><span class="cx">     Document* document = thisObj-&gt;impl().frame()-&gt;document();
</span><span class="cx"> 
</span><span class="cx">     ASSERT(BindingSecurity::shouldAllowAccessToDOMWindow(exec, thisObj-&gt;impl()));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLAllCollectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -100,9 +100,9 @@
</span><span class="cx">     return collection-&gt;hasNamedItem(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSHTMLAllCollection::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSHTMLAllCollection::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSHTMLAllCollection* thisObj = jsCast&lt;JSHTMLAllCollection*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSHTMLAllCollection* thisObj = jsCast&lt;JSHTMLAllCollection*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(getNamedItems(exec, thisObj, propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLCollectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx">     return collection-&gt;hasNamedItem(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSHTMLCollection::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSHTMLCollection::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSHTMLCollection* collection = jsCast&lt;JSHTMLCollection*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSHTMLCollection* collection = jsCast&lt;JSHTMLCollection*&gt;(slotBase);
</ins><span class="cx">     const AtomicString&amp; name = propertyNameToAtomicString(propertyName);
</span><span class="cx">     return JSValue::encode(toJS(exec, collection-&gt;globalObject(), collection-&gt;impl().namedItem(name)));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -57,9 +57,9 @@
</span><span class="cx">     return atomicPropertyName &amp;&amp; document-&gt;hasDocumentNamedItem(*atomicPropertyName);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSHTMLDocument::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSHTMLDocument::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSHTMLDocument* thisObj = jsCast&lt;JSHTMLDocument*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSHTMLDocument* thisObj = jsCast&lt;JSHTMLDocument*&gt;(slotBase);
</ins><span class="cx">     HTMLDocument&amp; document = thisObj-&gt;impl();
</span><span class="cx"> 
</span><span class="cx">     AtomicStringImpl* atomicPropertyName = findAtomicString(propertyName);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLFormControlsCollectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -57,9 +57,9 @@
</span><span class="cx">     return collection-&gt;hasNamedItem(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSHTMLFormControlsCollection::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSHTMLFormControlsCollection::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSHTMLFormControlsCollection* thisObj = jsCast&lt;JSHTMLFormControlsCollection*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSHTMLFormControlsCollection* thisObj = jsCast&lt;JSHTMLFormControlsCollection*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(getNamedItems(exec, thisObj, propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLFormElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLFormElementCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLFormElementCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHTMLFormElementCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -42,9 +42,9 @@
</span><span class="cx">     return form-&gt;hasNamedElement(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSHTMLFormElement::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSHTMLFormElement::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSHTMLFormElement* jsForm = jsCast&lt;JSHTMLFormElement*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSHTMLFormElement* jsForm = jsCast&lt;JSHTMLFormElement*&gt;(slotBase);
</ins><span class="cx">     HTMLFormElement&amp; form = jsForm-&gt;impl();
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;Ref&lt;Element&gt;&gt; namedItems;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLFrameSetElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx">     return frame &amp;&amp; frame-&gt;hasTagName(frameTag);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    HTMLElement&amp; element = jsCast&lt;JSHTMLElement*&gt;(JSValue::decode(slotBase))-&gt;impl();
</del><ins>+    HTMLElement&amp; element = jsCast&lt;JSHTMLElement*&gt;(slotBase)-&gt;impl();
</ins><span class="cx">     Node* frameElement = element.children()-&gt;namedItem(propertyNameToAtomicString(propertyName));
</span><span class="cx">     if (Document* document = toHTMLFrameElement(frameElement)-&gt;contentDocument()) {
</span><span class="cx">         if (JSDOMWindowShell* window = toJSDOMWindowShell(document-&gt;frame(), currentWorld(exec)))
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHistoryCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -38,17 +38,17 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static EncodedJSValue nonCachingStaticBackFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue nonCachingStaticBackFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 0, propertyName.publicName(), jsHistoryPrototypeFunctionBack));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue nonCachingStaticForwardFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue nonCachingStaticForwardFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 0, propertyName.publicName(), jsHistoryPrototypeFunctionForward));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue nonCachingStaticGoFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue nonCachingStaticGoFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 1, propertyName.publicName(), jsHistoryPrototypeFunctionGo));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -30,17 +30,17 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static EncodedJSValue nonCachingStaticReplaceFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue nonCachingStaticReplaceFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 1, propertyName.publicName(), jsLocationPrototypeFunctionReplace));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue nonCachingStaticReloadFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue nonCachingStaticReloadFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 0, propertyName.publicName(), jsLocationPrototypeFunctionReload));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static EncodedJSValue nonCachingStaticAssignFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
</del><ins>+static EncodedJSValue nonCachingStaticAssignFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx">     return JSValue::encode(JSFunction::create(exec-&gt;vm(), exec-&gt;lexicalGlobalObject(), 1, propertyName.publicName(), jsLocationPrototypeFunctionAssign));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNamedNodeMapCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNamedNodeMapCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNamedNodeMapCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSNamedNodeMapCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -40,9 +40,9 @@
</span><span class="cx">     return impl-&gt;getNamedItem(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSNamedNodeMap::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSNamedNodeMap::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSNamedNodeMap* thisObj = jsCast&lt;JSNamedNodeMap*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSNamedNodeMap* thisObj = jsCast&lt;JSNamedNodeMap*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().getNamedItem(propertyNameToAtomicString(propertyName))));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPluginElementFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     return instance-&gt;createRuntimeObject(exec);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-EncodedJSValue pluginElementPropertyGetter(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName propertyName)
</del><ins>+EncodedJSValue pluginElementPropertyGetter(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx"> 
</span><span class="cx">     JSHTMLElement* thisObject = jsDynamicCast&lt;JSHTMLElement*&gt;(JSValue::decode(thisValue));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPluginElementFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     JSC::Bindings::Instance* pluginInstance(HTMLElement&amp;);
</span><span class="cx">     JSC::JSObject* pluginScriptObject(JSC::ExecState*, JSHTMLElement*);
</span><span class="cx"> 
</span><del>-    JSC::EncodedJSValue pluginElementPropertyGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</del><ins>+    JSC::EncodedJSValue pluginElementPropertyGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</ins><span class="cx">     bool pluginElementCustomGetOwnPropertySlot(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;, JSHTMLElement*);
</span><span class="cx">     bool pluginElementCustomPut(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSHTMLElement*, JSC::PutPropertySlot&amp;);
</span><span class="cx">     JSC::CallType pluginElementGetCallData(JSHTMLElement*, JSC::CallData&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSRTCStatsResponseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -40,9 +40,9 @@
</span><span class="cx">     return response-&gt;canGetItemsForName(propertyNameToAtomicString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSRTCStatsResponse::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSRTCStatsResponse::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSRTCStatsResponse* thisObj = jsCast&lt;JSRTCStatsResponse*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSRTCStatsResponse* thisObj = jsCast&lt;JSRTCStatsResponse*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().namedItem(propertyNameToAtomicString(propertyName))));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSStorageCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -42,11 +42,11 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSStorage::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSStorage::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSStorage* thisObj = jsCast&lt;JSStorage*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSStorage* thisObj = jsCast&lt;JSStorage*&gt;(slotBase);
</ins><span class="cx">         
</span><del>-    JSValue prototype = asObject(JSValue::decode(slotBase))-&gt;prototype();
</del><ins>+    JSValue prototype = slotBase-&gt;prototype();
</ins><span class="cx">     if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;hasProperty(exec, propertyName))
</span><span class="cx">         return JSValue::encode(asObject(prototype)-&gt;get(exec, propertyName));
</span><span class="cx">  
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSStyleSheetListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -40,9 +40,9 @@
</span><span class="cx">     return styleSheetList-&gt;getNamedItem(propertyNameToString(propertyName));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSStyleSheetList::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSStyleSheetList::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSStyleSheetList* thisObj = jsCast&lt;JSStyleSheetList*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSStyleSheetList* thisObj = jsCast&lt;JSStyleSheetList*&gt;(slotBase);
</ins><span class="cx">     HTMLStyleElement* element = thisObj-&gt;impl().getNamedItem(propertyNameToString(propertyName));
</span><span class="cx">     ASSERT(element);
</span><span class="cx">     return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), element-&gt;sheet()));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -981,7 +981,7 @@
</span><span class="cx">         if ($hasNumericIndexedGetter) {
</span><span class="cx">             push(@headerContent, &quot;    JSC::JSValue getByIndex(JSC::ExecState*, unsigned index);\n&quot;);
</span><span class="cx">         } else {
</span><del>-            push(@headerContent, &quot;    static JSC::EncodedJSValue indexGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, unsigned);\n&quot;);
</del><ins>+            push(@headerContent, &quot;    static JSC::EncodedJSValue indexGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, unsigned);\n&quot;);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -993,7 +993,7 @@
</span><span class="cx">     if ($namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;}) {
</span><span class="cx">         push(@headerContent, &quot;private:\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    static bool canGetItemsForName(JSC::ExecState*, $interfaceName*, JSC::PropertyName);\n&quot;);
</span><del>-        push(@headerContent, &quot;    static JSC::EncodedJSValue nameGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</del><ins>+        push(@headerContent, &quot;    static JSC::EncodedJSValue nameGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     push(@headerContent, &quot;};\n\n&quot;);
</span><span class="lines">@@ -1134,7 +1134,7 @@
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">             push(@headerContent, &quot;#if ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="cx">             my $getter = GetAttributeGetterName($interfaceName, $className, $attribute);
</span><del>-            push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</del><ins>+            push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</ins><span class="cx">             if (!IsReadonly($attribute)) {
</span><span class="cx">                 my $setter = GetAttributeSetterName($interfaceName, $className, $attribute);
</span><span class="cx">                 push(@headerContent, &quot;void ${setter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n&quot;);
</span><span class="lines">@@ -1144,7 +1144,7 @@
</span><span class="cx">         
</span><span class="cx">         if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</span><span class="cx">             my $getter = &quot;js&quot; . $interfaceName . &quot;Constructor&quot;;
</span><del>-            push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</del><ins>+            push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if ($interface-&gt;extendedAttributes-&gt;{&quot;ReplaceableConstructor&quot;}) {
</span><span class="lines">@@ -1159,7 +1159,7 @@
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($constant);
</span><span class="cx">             push(@headerContent, &quot;#if ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="cx">             my $getter = &quot;js&quot; . $interfaceName . $codeGenerator-&gt;WK_ucfirst($constant-&gt;name);
</span><del>-            push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</del><ins>+            push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</ins><span class="cx">             push(@headerContent, &quot;#endif\n&quot;) if $conditionalString;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1964,7 +1964,7 @@
</span><span class="cx">             my $attributeConditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">             push(@implContent, &quot;#if ${attributeConditionalString}\n&quot;) if $attributeConditionalString;
</span><span class="cx"> 
</span><del>-            push(@implContent, &quot;EncodedJSValue ${getFunctionName}(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)\n&quot;);
</del><ins>+            push(@implContent, &quot;EncodedJSValue ${getFunctionName}(ExecState* exec, JSObject* slotBase, EncodedJSValue thisValue, PropertyName)\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx"> 
</span><span class="cx">             if (!$attribute-&gt;isStatic || $attribute-&gt;signature-&gt;type =~ /Constructor$/) {
</span><span class="lines">@@ -2147,7 +2147,7 @@
</span><span class="cx">         if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</span><span class="cx">             my $constructorFunctionName = &quot;js&quot; . $interfaceName . &quot;Constructor&quot;;
</span><span class="cx"> 
</span><del>-            push(@implContent, &quot;EncodedJSValue ${constructorFunctionName}(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)\n&quot;);
</del><ins>+            push(@implContent, &quot;EncodedJSValue ${constructorFunctionName}(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">                 push(@implContent, &quot;    ${className}* domObject = jsDynamicCast&lt;$className*&gt;(JSValue::decode(thisValue));\n&quot;);
</span><span class="lines">@@ -2628,7 +2628,7 @@
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             # FIXME: this casts into int to match our previous behavior which turned 0xFFFFFFFF in -1 for NodeFilter.SHOW_ALL
</span><del>-            push(@implContent, &quot;EncodedJSValue ${getter}(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)\n&quot;);
</del><ins>+            push(@implContent, &quot;EncodedJSValue ${getter}(ExecState* exec, JSObject*, EncodedJSValue, PropertyName)\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             if ($constant-&gt;type eq &quot;DOMString&quot;) {
</span><span class="cx">                 push(@implContent, &quot;    return JSValue::encode(jsStringOrNull(exec, String(&quot; . $constant-&gt;value . &quot;)));\n&quot;);
</span><span class="lines">@@ -2642,9 +2642,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($indexedGetterFunction &amp;&amp; !$hasNumericIndexedGetter) {
</span><del>-        push(@implContent, &quot;\nEncodedJSValue ${className}::indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)\n&quot;);
</del><ins>+        push(@implContent, &quot;\nEncodedJSValue ${className}::indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><del>-        push(@implContent, &quot;    ${className}* thisObj = jsCast&lt;$className*&gt;(JSValue::decode(slotBase));\n&quot;);
</del><ins>+        push(@implContent, &quot;    ${className}* thisObj = jsCast&lt;$className*&gt;(slotBase);\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;    ASSERT_GC_OBJECT_INHERITS(thisObj, info());\n&quot;);
</span><span class="cx">         if ($indexedGetterFunction-&gt;signature-&gt;type eq &quot;DOMString&quot;) {
</span><span class="cx">             $implIncludes{&quot;URL.h&quot;} = 1;
</span><span class="lines">@@ -2681,9 +2681,9 @@
</span><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    return collection-&gt;hasNamedItem(propertyNameToAtomicString(propertyName));\n&quot;);
</span><span class="cx">             push(@implContent, &quot;}\n\n&quot;);
</span><del>-            push(@implContent, &quot;EncodedJSValue ${className}::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)\n&quot;);
</del><ins>+            push(@implContent, &quot;EncodedJSValue ${className}::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><del>-            push(@implContent, &quot;    ${className}* thisObj = jsCast&lt;$className*&gt;(JSValue::decode(slotBase));\n&quot;);
</del><ins>+            push(@implContent, &quot;    ${className}* thisObj = jsCast&lt;$className*&gt;(slotBase);\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;    return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().namedItem(propertyNameToAtomicString(propertyName))));\n&quot;);
</span><span class="cx">             push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_arraycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_array.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_array.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bridge/runtime_array.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     static_cast&lt;RuntimeArray*&gt;(cell)-&gt;RuntimeArray::~RuntimeArray();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue RuntimeArray::lengthGetter(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue RuntimeArray::lengthGetter(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     RuntimeArray* thisObject = jsDynamicCast&lt;RuntimeArray*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!thisObject)
</span><span class="lines">@@ -68,9 +68,9 @@
</span><span class="cx">     return JSValue::encode(jsNumber(thisObject-&gt;getLength()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue RuntimeArray::indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)
</del><ins>+EncodedJSValue RuntimeArray::indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)
</ins><span class="cx"> {
</span><del>-    RuntimeArray* thisObj = jsCast&lt;RuntimeArray*&gt;(JSValue::decode(slotBase));
</del><ins>+    RuntimeArray* thisObj = jsCast&lt;RuntimeArray*&gt;(slotBase);
</ins><span class="cx">     return JSValue::encode(thisObj-&gt;getConcreteArray()-&gt;valueAt(exec, index));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_arrayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_array.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_array.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bridge/runtime_array.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -84,8 +84,8 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     RuntimeArray(ExecState*, Structure*);
</span><del>-    static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-    static EncodedJSValue indexGetter(ExecState*, EncodedJSValue, EncodedJSValue, unsigned);
</del><ins>+    static EncodedJSValue lengthGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+    static EncodedJSValue indexGetter(ExecState*, JSObject*, EncodedJSValue, unsigned);
</ins><span class="cx"> 
</span><span class="cx">     BindingsArray* m_array;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_methodcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_method.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_method.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bridge/runtime_method.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     ASSERT(inherits(info()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue RuntimeMethod::lengthGetter(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue RuntimeMethod::lengthGetter(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><span class="cx">     RuntimeMethod* thisObject = jsDynamicCast&lt;RuntimeMethod*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!thisObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_methodh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_method.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_method.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bridge/runtime_method.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+    static EncodedJSValue lengthGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx">     Bindings::Method* m_method;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_objectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_object.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_object.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bridge/runtime_object.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -62,9 +62,9 @@
</span><span class="cx">     m_instance = 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue RuntimeObject::fallbackObjectGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue RuntimeObject::fallbackObjectGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    RuntimeObject* thisObj = jsCast&lt;RuntimeObject*&gt;(JSValue::decode(slotBase));
</del><ins>+    RuntimeObject* thisObj = jsCast&lt;RuntimeObject*&gt;(slotBase);
</ins><span class="cx">     RefPtr&lt;Instance&gt; instance = thisObj-&gt;m_instance;
</span><span class="cx"> 
</span><span class="cx">     if (!instance)
</span><span class="lines">@@ -80,9 +80,9 @@
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue RuntimeObject::fieldGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue RuntimeObject::fieldGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {    
</span><del>-    RuntimeObject* thisObj = jsCast&lt;RuntimeObject*&gt;(JSValue::decode(slotBase));
</del><ins>+    RuntimeObject* thisObj = jsCast&lt;RuntimeObject*&gt;(slotBase);
</ins><span class="cx">     RefPtr&lt;Instance&gt; instance = thisObj-&gt;m_instance;
</span><span class="cx"> 
</span><span class="cx">     if (!instance)
</span><span class="lines">@@ -99,9 +99,9 @@
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue RuntimeObject::methodGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue RuntimeObject::methodGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    RuntimeObject* thisObj = jsCast&lt;RuntimeObject*&gt;(JSValue::decode(slotBase));
</del><ins>+    RuntimeObject* thisObj = jsCast&lt;RuntimeObject*&gt;(slotBase);
</ins><span class="cx">     RefPtr&lt;Instance&gt; instance = thisObj-&gt;m_instance;
</span><span class="cx"> 
</span><span class="cx">     if (!instance)
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_objecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_object.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_object.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebCore/bridge/runtime_object.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -78,9 +78,9 @@
</span><span class="cx">     static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesGetPropertyNames | Base::StructureFlags;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    static EncodedJSValue fallbackObjectGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-    static EncodedJSValue fieldGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
-    static EncodedJSValue methodGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</del><ins>+    static EncodedJSValue fallbackObjectGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+    static EncodedJSValue fieldGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
+    static EncodedJSValue methodGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Instance&gt; m_instance;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebKit2/ChangeLog        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-02-05  Oliver Hunt  &lt;oliver@apple.com&gt;
+
+        Change custom getter signature to make the base reference an object pointer
+        https://bugs.webkit.org/show_bug.cgi?id=128279
+
+        Reviewed by Geoffrey Garen.
+
+        Update everything to the new calling convention.
+
+        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+        (WebKit::JSNPObject::propertyGetter):
+        (WebKit::JSNPObject::methodGetter):
+        * WebProcess/Plugins/Netscape/JSNPObject.h:
+
</ins><span class="cx"> 2014-02-05  Andreas Kling  &lt;akling@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove ENABLE(DIRECTORY_UPLOAD).
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsNetscapeJSNPObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -417,9 +417,9 @@
</span><span class="cx">     npnMemFree(identifiers);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSNPObject::propertyGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSNPObject::propertyGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSNPObject* thisObj = jsCast&lt;JSNPObject*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSNPObject* thisObj = jsCast&lt;JSNPObject*&gt;(slotBase);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObj, info());
</span><span class="cx">     
</span><span class="cx">     if (!thisObj-&gt;m_npObject)
</span><span class="lines">@@ -453,9 +453,9 @@
</span><span class="cx">     return JSValue::encode(propertyValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSNPObject::methodGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSNPObject::methodGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
</ins><span class="cx"> {
</span><del>-    JSNPObject* thisObj = jsCast&lt;JSNPObject*&gt;(JSValue::decode(slotBase));
</del><ins>+    JSNPObject* thisObj = jsCast&lt;JSNPObject*&gt;(slotBase);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObj, info());
</span><span class="cx">     
</span><span class="cx">     if (!thisObj-&gt;m_npObject)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsNetscapeJSNPObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h (163495 => 163496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h        2014-02-06 00:57:54 UTC (rev 163495)
+++ trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h        2014-02-06 00:58:13 UTC (rev 163496)
</span><span class="lines">@@ -95,8 +95,8 @@
</span><span class="cx"> 
</span><span class="cx">     static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&amp;, JSC::EnumerationMode);
</span><span class="cx"> 
</span><del>-    static JSC::EncodedJSValue propertyGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
-    static JSC::EncodedJSValue methodGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</del><ins>+    static JSC::EncodedJSValue propertyGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+    static JSC::EncodedJSValue methodGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</ins><span class="cx">     static JSC::JSObject* throwInvalidAccessError(JSC::ExecState*);
</span><span class="cx"> 
</span><span class="cx">     NPRuntimeObjectMap* m_objectMap;
</span></span></pre>
</div>
</div>

</body>
</html>