<!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<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::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<JSCallbackObjectData> 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 <class Parent>
</span><del>-EncodedJSValue JSCallbackObject<Parent>::staticFunctionGetter(ExecState* exec, EncodedJSValue slotParent, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSCallbackObject<Parent>::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 <class Parent>
</span><del>-EncodedJSValue JSCallbackObject<Parent>::callbackGetter(ExecState* exec, EncodedJSValue slotParent, EncodedJSValue, PropertyName propertyName)
</del><ins>+EncodedJSValue JSCallbackObject<Parent>::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 <oliver@apple.com>
+
+ 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<Parent>::staticFunctionGetter):
+ (JSC::JSCallbackObject<Parent>::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 <akling@apple.com>
</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<JSObject*>(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->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<JSActivation*>(JSValue::decode(slotBase));
</del><ins>+ JSActivation* activation = jsCast<JSActivation*>(slotBase);
</ins><span class="cx"> CallFrame* callFrame = CallFrame::create(reinterpret_cast<Register*>(activation->m_registers));
</span><span class="cx"> ASSERT(!activation->isTornOff() && (callFrame->codeBlock()->usesArguments() || callFrame->codeBlock()->usesEval()));
</span><span class="cx"> if (activation->isTornOff() || !(callFrame->codeBlock()->usesArguments() || callFrame->codeBlock()->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&, 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<JSFunction*>(JSValue::decode(slotBase));
</del><ins>+ JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
</ins><span class="cx"> ASSERT(!thisObj->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<JSFunction*>(JSValue::decode(slotBase));
</del><ins>+ JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
</ins><span class="cx"> ASSERT(!thisObj->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("Function.caller used to retrieve strict caller")));
</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<JSFunction*>(JSValue::decode(slotBase));
</del><ins>+ JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
</ins><span class="cx"> ASSERT(!thisObj->isHostFunction());
</span><span class="cx"> return JSValue::encode(jsNumber(thisObj->jsExecutable()->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<JSFunction*>(JSValue::decode(slotBase));
</del><ins>+ JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
</ins><span class="cx"> ASSERT(!thisObj->isHostFunction());
</span><span class="cx"> return JSValue::encode(thisObj->jsExecutable()->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<ExecutableBase> m_executable;
</span><span class="cx"> WriteBarrier<JSScope> 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<NumberConstructor, InternalFunction>(exec, ExecState::numberConstructorTable(exec->vm()), jsCast<NumberConstructor*>(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<double>::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<double>::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<RegExpConstructor*>(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)->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)->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)->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)->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)->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)->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)->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)->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)->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)->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)->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)->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)->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)->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)->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<RegExpObject*>(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)->regExp()->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)->regExp()->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)->regExp()->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)->regExp()->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 <oliver@apple.com>
+
+ 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 <aestes@apple.com>
</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<JSCSSStyleDeclaration*>(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<JSCSSStyleDeclaration*>(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->document()->domWindow()->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->vm(), exec->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&, String& message);
</span><span class="cx">
</span><span class="cx"> void printErrorMessageForFrame(Frame*, const String& 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& 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->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<JSDOMMimeTypeArray*>(JSValue::decode(slotBase));
</del><ins>+ JSDOMMimeTypeArray* thisObj = jsDynamicCast<JSDOMMimeTypeArray*>(slotBase);
</ins><span class="cx"> if (!thisObj)
</span><span class="cx"> return throwVMTypeError(exec);
</span><span class="cx"> return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->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->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<JSDOMPluginArray*>(JSValue::decode(slotBase));
</del><ins>+ JSDOMPluginArray* thisObj = jsCast<JSDOMPluginArray*>(slotBase);
</ins><span class="cx"> return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->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->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<JSDOMPlugin*>(JSValue::decode(slotBase));
</del><ins>+ JSDOMPlugin* thisObj = jsCast<JSDOMPlugin*>(slotBase);
</ins><span class="cx"> return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->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<NativeFunction nativeFunction, int length>
</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->vm(), exec->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<JSDOMWindow*>(JSValue::decode(slotBase))->impl().frame()->tree().scopedChild(propertyNameToAtomicString(propertyName))->document()->domWindow()));
</del><ins>+ return JSValue::encode(toJS(exec, jsCast<JSDOMWindow*>(slotBase)->impl().frame()->tree().scopedChild(propertyNameToAtomicString(propertyName))->document()->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<JSDOMWindow*>(JSValue::decode(slotBase))->impl().frame()->tree().scopedChild(index)->document()->domWindow()));
</del><ins>+ return JSValue::encode(toJS(exec, jsCast<JSDOMWindow*>(slotBase)->impl().frame()->tree().scopedChild(index)->document()->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<JSDOMWindow*>(JSValue::decode(slotBase));
</del><ins>+ JSDOMWindowBase* thisObj = jsCast<JSDOMWindow*>(slotBase);
</ins><span class="cx"> Document* document = thisObj->impl().frame()->document();
</span><span class="cx">
</span><span class="cx"> ASSERT(BindingSecurity::shouldAllowAccessToDOMWindow(exec, thisObj->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->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<JSHTMLAllCollection*>(JSValue::decode(slotBase));
</del><ins>+ JSHTMLAllCollection* thisObj = jsCast<JSHTMLAllCollection*>(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->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<JSHTMLCollection*>(JSValue::decode(slotBase));
</del><ins>+ JSHTMLCollection* collection = jsCast<JSHTMLCollection*>(slotBase);
</ins><span class="cx"> const AtomicString& name = propertyNameToAtomicString(propertyName);
</span><span class="cx"> return JSValue::encode(toJS(exec, collection->globalObject(), collection->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 && document->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<JSHTMLDocument*>(JSValue::decode(slotBase));
</del><ins>+ JSHTMLDocument* thisObj = jsCast<JSHTMLDocument*>(slotBase);
</ins><span class="cx"> HTMLDocument& document = thisObj->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->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<JSHTMLFormControlsCollection*>(JSValue::decode(slotBase));
</del><ins>+ JSHTMLFormControlsCollection* thisObj = jsCast<JSHTMLFormControlsCollection*>(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->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<JSHTMLFormElement*>(JSValue::decode(slotBase));
</del><ins>+ JSHTMLFormElement* jsForm = jsCast<JSHTMLFormElement*>(slotBase);
</ins><span class="cx"> HTMLFormElement& form = jsForm->impl();
</span><span class="cx">
</span><span class="cx"> Vector<Ref<Element>> 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 && frame->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& element = jsCast<JSHTMLElement*>(JSValue::decode(slotBase))->impl();
</del><ins>+ HTMLElement& element = jsCast<JSHTMLElement*>(slotBase)->impl();
</ins><span class="cx"> Node* frameElement = element.children()->namedItem(propertyNameToAtomicString(propertyName));
</span><span class="cx"> if (Document* document = toHTMLFrameElement(frameElement)->contentDocument()) {
</span><span class="cx"> if (JSDOMWindowShell* window = toJSDOMWindowShell(document->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->vm(), exec->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->vm(), exec->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->vm(), exec->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->vm(), exec->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->vm(), exec->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->vm(), exec->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->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<JSNamedNodeMap*>(JSValue::decode(slotBase));
</del><ins>+ JSNamedNodeMap* thisObj = jsCast<JSNamedNodeMap*>(slotBase);
</ins><span class="cx"> return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->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->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<JSHTMLElement*>(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&);
</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&, JSHTMLElement*);
</span><span class="cx"> bool pluginElementCustomPut(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSHTMLElement*, JSC::PutPropertySlot&);
</span><span class="cx"> JSC::CallType pluginElementGetCallData(JSHTMLElement*, JSC::CallData&);
</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->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<JSRTCStatsResponse*>(JSValue::decode(slotBase));
</del><ins>+ JSRTCStatsResponse* thisObj = jsCast<JSRTCStatsResponse*>(slotBase);
</ins><span class="cx"> return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->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<JSStorage*>(JSValue::decode(slotBase));
</del><ins>+ JSStorage* thisObj = jsCast<JSStorage*>(slotBase);
</ins><span class="cx">
</span><del>- JSValue prototype = asObject(JSValue::decode(slotBase))->prototype();
</del><ins>+ JSValue prototype = slotBase->prototype();
</ins><span class="cx"> if (prototype.isObject() && asObject(prototype)->hasProperty(exec, propertyName))
</span><span class="cx"> return JSValue::encode(asObject(prototype)->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->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<JSStyleSheetList*>(JSValue::decode(slotBase));
</del><ins>+ JSStyleSheetList* thisObj = jsCast<JSStyleSheetList*>(slotBase);
</ins><span class="cx"> HTMLStyleElement* element = thisObj->impl().getNamedItem(propertyNameToString(propertyName));
</span><span class="cx"> ASSERT(element);
</span><span class="cx"> return JSValue::encode(toJS(exec, thisObj->globalObject(), element->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, " JSC::JSValue getByIndex(JSC::ExecState*, unsigned index);\n");
</span><span class="cx"> } else {
</span><del>- push(@headerContent, " static JSC::EncodedJSValue indexGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, unsigned);\n");
</del><ins>+ push(@headerContent, " static JSC::EncodedJSValue indexGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, unsigned);\n");
</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->extendedAttributes->{"CustomNamedGetter"}) {
</span><span class="cx"> push(@headerContent, "private:\n");
</span><span class="cx"> push(@headerContent, " static bool canGetItemsForName(JSC::ExecState*, $interfaceName*, JSC::PropertyName);\n");
</span><del>- push(@headerContent, " static JSC::EncodedJSValue nameGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
</del><ins>+ push(@headerContent, " static JSC::EncodedJSValue nameGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> push(@headerContent, "};\n\n");
</span><span class="lines">@@ -1134,7 +1134,7 @@
</span><span class="cx"> my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature);
</span><span class="cx"> push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
</span><span class="cx"> my $getter = GetAttributeGetterName($interfaceName, $className, $attribute);
</span><del>- push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
</del><ins>+ push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
</ins><span class="cx"> if (!IsReadonly($attribute)) {
</span><span class="cx"> my $setter = GetAttributeSetterName($interfaceName, $className, $attribute);
</span><span class="cx"> push(@headerContent, "void ${setter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
</span><span class="lines">@@ -1144,7 +1144,7 @@
</span><span class="cx">
</span><span class="cx"> if (!$interface->extendedAttributes->{"NoInterfaceObject"}) {
</span><span class="cx"> my $getter = "js" . $interfaceName . "Constructor";
</span><del>- push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
</del><ins>+ push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if ($interface->extendedAttributes->{"ReplaceableConstructor"}) {
</span><span class="lines">@@ -1159,7 +1159,7 @@
</span><span class="cx"> my $conditionalString = $codeGenerator->GenerateConditionalString($constant);
</span><span class="cx"> push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
</span><span class="cx"> my $getter = "js" . $interfaceName . $codeGenerator->WK_ucfirst($constant->name);
</span><del>- push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
</del><ins>+ push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
</ins><span class="cx"> push(@headerContent, "#endif\n") 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->GenerateConditionalString($attribute->signature);
</span><span class="cx"> push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString;
</span><span class="cx">
</span><del>- push(@implContent, "EncodedJSValue ${getFunctionName}(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)\n");
</del><ins>+ push(@implContent, "EncodedJSValue ${getFunctionName}(ExecState* exec, JSObject* slotBase, EncodedJSValue thisValue, PropertyName)\n");
</ins><span class="cx"> push(@implContent, "{\n");
</span><span class="cx">
</span><span class="cx"> if (!$attribute->isStatic || $attribute->signature->type =~ /Constructor$/) {
</span><span class="lines">@@ -2147,7 +2147,7 @@
</span><span class="cx"> if (!$interface->extendedAttributes->{"NoInterfaceObject"}) {
</span><span class="cx"> my $constructorFunctionName = "js" . $interfaceName . "Constructor";
</span><span class="cx">
</span><del>- push(@implContent, "EncodedJSValue ${constructorFunctionName}(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)\n");
</del><ins>+ push(@implContent, "EncodedJSValue ${constructorFunctionName}(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)\n");
</ins><span class="cx"> push(@implContent, "{\n");
</span><span class="cx"> if ($interfaceName eq "DOMWindow") {
</span><span class="cx"> push(@implContent, " ${className}* domObject = jsDynamicCast<$className*>(JSValue::decode(thisValue));\n");
</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, "EncodedJSValue ${getter}(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)\n");
</del><ins>+ push(@implContent, "EncodedJSValue ${getter}(ExecState* exec, JSObject*, EncodedJSValue, PropertyName)\n");
</ins><span class="cx"> push(@implContent, "{\n");
</span><span class="cx"> if ($constant->type eq "DOMString") {
</span><span class="cx"> push(@implContent, " return JSValue::encode(jsStringOrNull(exec, String(" . $constant->value . ")));\n");
</span><span class="lines">@@ -2642,9 +2642,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if ($indexedGetterFunction && !$hasNumericIndexedGetter) {
</span><del>- push(@implContent, "\nEncodedJSValue ${className}::indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)\n");
</del><ins>+ push(@implContent, "\nEncodedJSValue ${className}::indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)\n");
</ins><span class="cx"> push(@implContent, "{\n");
</span><del>- push(@implContent, " ${className}* thisObj = jsCast<$className*>(JSValue::decode(slotBase));\n");
</del><ins>+ push(@implContent, " ${className}* thisObj = jsCast<$className*>(slotBase);\n");
</ins><span class="cx"> push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObj, info());\n");
</span><span class="cx"> if ($indexedGetterFunction->signature->type eq "DOMString") {
</span><span class="cx"> $implIncludes{"URL.h"} = 1;
</span><span class="lines">@@ -2681,9 +2681,9 @@
</span><span class="cx"> push(@implContent, "{\n");
</span><span class="cx"> push(@implContent, " return collection->hasNamedItem(propertyNameToAtomicString(propertyName));\n");
</span><span class="cx"> push(@implContent, "}\n\n");
</span><del>- push(@implContent, "EncodedJSValue ${className}::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)\n");
</del><ins>+ push(@implContent, "EncodedJSValue ${className}::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)\n");
</ins><span class="cx"> push(@implContent, "{\n");
</span><del>- push(@implContent, " ${className}* thisObj = jsCast<$className*>(JSValue::decode(slotBase));\n");
</del><ins>+ push(@implContent, " ${className}* thisObj = jsCast<$className*>(slotBase);\n");
</ins><span class="cx"> push(@implContent, " return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().namedItem(propertyNameToAtomicString(propertyName))));\n");
</span><span class="cx"> push(@implContent, "}\n\n");
</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<RuntimeArray*>(cell)->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<RuntimeArray*>(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->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<RuntimeArray*>(JSValue::decode(slotBase));
</del><ins>+ RuntimeArray* thisObj = jsCast<RuntimeArray*>(slotBase);
</ins><span class="cx"> return JSValue::encode(thisObj->getConcreteArray()->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<RuntimeMethod*>(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&);
</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<RuntimeObject*>(JSValue::decode(slotBase));
</del><ins>+ RuntimeObject* thisObj = jsCast<RuntimeObject*>(slotBase);
</ins><span class="cx"> RefPtr<Instance> instance = thisObj->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<RuntimeObject*>(JSValue::decode(slotBase));
</del><ins>+ RuntimeObject* thisObj = jsCast<RuntimeObject*>(slotBase);
</ins><span class="cx"> RefPtr<Instance> instance = thisObj->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<RuntimeObject*>(JSValue::decode(slotBase));
</del><ins>+ RuntimeObject* thisObj = jsCast<RuntimeObject*>(slotBase);
</ins><span class="cx"> RefPtr<Instance> instance = thisObj->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<Instance> 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 <oliver@apple.com>
+
+ 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 <akling@apple.com>
</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<JSNPObject*>(JSValue::decode(slotBase));
</del><ins>+ JSNPObject* thisObj = jsCast<JSNPObject*>(slotBase);
</ins><span class="cx"> ASSERT_GC_OBJECT_INHERITS(thisObj, info());
</span><span class="cx">
</span><span class="cx"> if (!thisObj->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<JSNPObject*>(JSValue::decode(slotBase));
</del><ins>+ JSNPObject* thisObj = jsCast<JSNPObject*>(slotBase);
</ins><span class="cx"> ASSERT_GC_OBJECT_INHERITS(thisObj, info());
</span><span class="cx">
</span><span class="cx"> if (!thisObj->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&, 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>