<!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>[206992] trunk/Source/WebCore</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/206992">206992</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-10-10 02:03:09 -0700 (Mon, 10 Oct 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Attribute getter binding generated code should use more references
https://bugs.webkit.org/show_bug.cgi?id=163179

Patch by Youenn Fablet &lt;youenn@apple.com&gt; on 2016-10-10
Reviewed by Darin Adler.

No change of behavior.

Using more references in attribute getter generated code since BindingCaller::attribute can do the
pointer-to-references checks once for all.

Needed to update GenerateCallWith and NativeToJSValue to handle the case where references (attribute getters) or
pointers (methods and attribute setters) are to be used.
Future refactoring should allign methods/attribute setters to attribute getters.

* bindings/js/JSDOMBinding.h:
(WebCore::BindingCaller::attribute):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateCallWith):
(NativeToJSValue):
(JSValueToNative):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSattribute.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingh">trunk/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestJSBuiltinConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/ChangeLog        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -1,5 +1,39 @@
</span><span class="cx"> 2016-10-10  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Attribute getter binding generated code should use more references
+        https://bugs.webkit.org/show_bug.cgi?id=163179
+
+        Reviewed by Darin Adler.
+
+        No change of behavior.
+
+        Using more references in attribute getter generated code since BindingCaller::attribute can do the
+        pointer-to-references checks once for all.
+
+        Needed to update GenerateCallWith and NativeToJSValue to handle the case where references (attribute getters) or
+        pointers (methods and attribute setters) are to be used.
+        Future refactoring should allign methods/attribute setters to attribute getters.
+
+        * bindings/js/JSDOMBinding.h:
+        (WebCore::BindingCaller::attribute):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation):
+        (GenerateCallWith):
+        (NativeToJSValue):
+        (JSValueToNative):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+
+2016-10-10  Youenn Fablet  &lt;youenn@apple.com&gt;
+
</ins><span class="cx">         Fix Mac Win build after https://trac.webkit.org/changeset/206966
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=163199
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -334,7 +334,7 @@
</span><span class="cx"> template&lt;typename JSClass&gt;
</span><span class="cx"> struct BindingCaller {
</span><span class="cx">     using AttributeSetterFunction = bool(JSC::ExecState*, JSClass*, JSC::JSValue, JSC::ThrowScope&amp;);
</span><del>-    using AttributeGetterFunction = JSC::JSValue(JSC::ExecState*, JSClass*, JSC::ThrowScope&amp;);
</del><ins>+    using AttributeGetterFunction = JSC::JSValue(JSC::ExecState&amp;, JSClass&amp;, JSC::ThrowScope&amp;);
</ins><span class="cx"> 
</span><span class="cx">     template&lt;AttributeSetterFunction setter, CastedThisErrorBehavior shouldThrow = CastedThisErrorBehavior::Throw&gt;
</span><span class="cx">     static bool setAttribute(JSC::ExecState* state, JSC::EncodedJSValue thisValue, JSC::EncodedJSValue encodedValue, const char* attributeName)
</span><span class="lines">@@ -364,8 +364,7 @@
</span><span class="cx">                 return rejectPromiseWithGetterTypeError(*state, JSClass::info()-&gt;className, attributeName);
</span><span class="cx">             return JSC::JSValue::encode(JSC::jsUndefined());
</span><span class="cx">         }
</span><del>-        // FIXME: We should refactor the binding generated code to use references for state and thisObject.
-        return JSC::JSValue::encode(getter(state, thisObject, throwScope));
</del><ins>+        return JSC::JSValue::encode(getter(*state, *thisObject, throwScope));
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -2911,7 +2911,7 @@
</span><span class="cx">                     $templateParameters .= &quot;, CastedThisErrorBehavior::RejectPromise&quot;;
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState*, ${className}*, ThrowScope&amp; throwScope);\n\n&quot;);
</del><ins>+                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState&amp;, ${className}&amp;, ThrowScope&amp; throwScope);\n\n&quot;);
</ins><span class="cx"> 
</span><span class="cx">                 push(@implContent, &quot;EncodedJSValue ${getFunctionName}(ExecState* state, EncodedJSValue thisValue, PropertyName)\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;{\n&quot;);
</span><span class="lines">@@ -2918,18 +2918,19 @@
</span><span class="cx">                 push(@implContent, &quot;    return BindingCaller&lt;${className}&gt;::attribute&lt;${templateParameters}&gt;(state, thisValue, \&quot;$name\&quot;);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState* state, ${className}* thisObject, ThrowScope&amp; throwScope)\n&quot;);
</del><ins>+                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState&amp; state, ${className}&amp; thisObject, ThrowScope&amp; throwScope)\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;{\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    UNUSED_PARAM(throwScope);\n&quot;);
</span><span class="cx">             } else {
</span><del>-                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState*);\n\n&quot;);
</del><ins>+                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState&amp;);\n\n&quot;);
</ins><span class="cx"> 
</span><span class="cx">                 push(@implContent, &quot;EncodedJSValue ${getFunctionName}(ExecState* state, EncodedJSValue, PropertyName)\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;{\n&quot;);
</span><del>-                push(@implContent, &quot;    return JSValue::encode(${getFunctionName}Getter(state));\n&quot;);
</del><ins>+                push(@implContent, &quot;    ASSERT(state);\n&quot;);
+                push(@implContent, &quot;    return JSValue::encode(${getFunctionName}Getter(*state));\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState* state)\n&quot;);
</del><ins>+                push(@implContent, &quot;static inline JSValue ${getFunctionName}Getter(ExecState&amp; state)\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             }
</span><span class="cx">             push(@implContent, &quot;    UNUSED_PARAM(state);\n&quot;);
</span><span class="lines">@@ -2946,9 +2947,9 @@
</span><span class="cx">                     AddToImplIncludes(&quot;Frame.h&quot;);
</span><span class="cx">                     AddToImplIncludes(&quot;Settings.h&quot;);
</span><span class="cx">                     my $enable_function = ToMethodName($attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledBySetting}) . &quot;Enabled&quot;;
</span><del>-                    push(@implContent, &quot;    if (UNLIKELY(!thisObject-&gt;wrapped().frame()))\n&quot;);
</del><ins>+                    push(@implContent, &quot;    if (UNLIKELY(!thisObject.wrapped().frame()))\n&quot;);
</ins><span class="cx">                     push(@implContent, &quot;        return jsUndefined();\n&quot;);
</span><del>-                    push(@implContent, &quot;    Settings&amp; settings = thisObject-&gt;wrapped().frame()-&gt;settings();\n&quot;);
</del><ins>+                    push(@implContent, &quot;    Settings&amp; settings = thisObject.wrapped().frame()-&gt;settings();\n&quot;);
</ins><span class="cx">                     push(@implContent, &quot;    if (!settings.$enable_function())\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        return jsUndefined();\n&quot;);
</span><span class="cx">                 }
</span><span class="lines">@@ -2960,9 +2961,9 @@
</span><span class="cx">                 !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurity} &amp;&amp;
</span><span class="cx">                 !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurityOnGetter}) {
</span><span class="cx">                 if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><del>-                    push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, thisObject-&gt;wrapped(), ThrowSecurityError))\n&quot;);
</del><ins>+                    push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToDOMWindow(&amp;state, thisObject.wrapped(), ThrowSecurityError))\n&quot;);
</ins><span class="cx">                 } else {
</span><del>-                    push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToFrame(state, thisObject-&gt;wrapped().frame(), ThrowSecurityError))\n&quot;);
</del><ins>+                    push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToFrame(&amp;state, thisObject.wrapped().frame(), ThrowSecurityError))\n&quot;);
</ins><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;        return jsUndefined();\n&quot;);
</span><span class="cx">             }
</span><span class="lines">@@ -2973,7 +2974,7 @@
</span><span class="cx">                 AddToImplIncludes(&quot;&lt;wtf/NeverDestroyed.h&gt;&quot;, &quot;WEB_REPLAY&quot;);
</span><span class="cx"> 
</span><span class="cx">                 push(@implContent, &quot;#if ENABLE(WEB_REPLAY)\n&quot;);
</span><del>-                push(@implContent, &quot;    JSGlobalObject* globalObject = state-&gt;lexicalGlobalObject();\n&quot;);
</del><ins>+                push(@implContent, &quot;    JSGlobalObject* globalObject = state.lexicalGlobalObject();\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;    InputCursor&amp; cursor = globalObject-&gt;inputCursor();\n&quot;);
</span><span class="cx"> 
</span><span class="cx">                 my $nativeType = GetNativeType($interface, $type);
</span><span class="lines">@@ -2981,10 +2982,10 @@
</span><span class="cx">                 my $exceptionCode = $getterMayThrowLegacyException ? &quot;ec&quot; : &quot;0&quot;;
</span><span class="cx">                 push(@implContent, &quot;    static NeverDestroyed&lt;const AtomicString&gt; bindingName(\&quot;$interfaceName.$name\&quot;, AtomicString::ConstructFromLiteral);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    if (cursor.isCapturing()) {\n&quot;);
</span><del>-                push(@implContent, &quot;        $memoizedType memoizedResult = thisObject-&gt;wrapped().$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;);\n&quot;);
</del><ins>+                push(@implContent, &quot;        $memoizedType memoizedResult = thisObject.wrapped().$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;);\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;        cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, $exceptionCode);\n&quot;);
</span><del>-                push(@implContent, &quot;        JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
-                push(@implContent, &quot;        setDOMException(state, throwScope, ec);\n&quot;) if $getterMayThrowLegacyException;
</del><ins>+                push(@implContent, &quot;        JSValue result = &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
+                push(@implContent, &quot;        setDOMException(&amp;state, throwScope, ec);\n&quot;) if $getterMayThrowLegacyException;
</ins><span class="cx">                 push(@implContent, &quot;        return result;\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;\n&quot;);
</span><span class="lines">@@ -2993,8 +2994,8 @@
</span><span class="cx">                 push(@implContent, &quot;        MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        if (input &amp;&amp; input-&gt;convertTo&lt;$memoizedType&gt;(memoizedResult)) {\n&quot;);
</span><span class="cx">                 # FIXME: the generated code should report an error if an input cannot be fetched or converted.
</span><del>-                push(@implContent, &quot;            JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
-                push(@implContent, &quot;            setDOMException(state, throwScope, input-&gt;exceptionCode());\n&quot;) if $getterMayThrowLegacyException;
</del><ins>+                push(@implContent, &quot;            JSValue result = &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
+                push(@implContent, &quot;            setDOMException(&amp;state, throwScope, input-&gt;exceptionCode());\n&quot;) if $getterMayThrowLegacyException;
</ins><span class="cx">                 push(@implContent, &quot;            return result;\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="lines">@@ -3002,11 +3003,11 @@
</span><span class="cx">             } # attribute Nondeterministic
</span><span class="cx"> 
</span><span class="cx">             if (HasCustomGetter($attribute-&gt;signature-&gt;extendedAttributes)) {
</span><del>-                push(@implContent, &quot;    return thisObject-&gt;$implGetterFunctionName(*state);\n&quot;);
</del><ins>+                push(@implContent, &quot;    return thisObject.$implGetterFunctionName(state);\n&quot;);
</ins><span class="cx">             } elsif ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CheckSecurityForNode}) {
</span><span class="cx">                 $implIncludes{&quot;JSDOMBinding.h&quot;} = 1;
</span><del>-                push(@implContent, &quot;    auto&amp; impl = thisObject-&gt;wrapped();\n&quot;);
-                push(@implContent, &quot;    return shouldAllowAccessToNode(state, impl.&quot; . $attribute-&gt;signature-&gt;name . &quot;()) ? &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName()&quot;, &quot;thisObject&quot;) . &quot; : jsNull();\n&quot;);
</del><ins>+                push(@implContent, &quot;    auto&amp; impl = thisObject.wrapped();\n&quot;);
+                push(@implContent, &quot;    return shouldAllowAccessToNode(&amp;state, impl.&quot; . $attribute-&gt;signature-&gt;name . &quot;()) ? &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName()&quot;, &quot;thisObject&quot;) . &quot; : jsNull();\n&quot;);
</ins><span class="cx">             } elsif ($type eq &quot;EventHandler&quot;) {
</span><span class="cx">                 $implIncludes{&quot;EventNames.h&quot;} = 1;
</span><span class="cx">                 my $getter = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{WindowEventHandler} ? &quot;windowEventHandlerAttribute&quot;
</span><span class="lines">@@ -3013,7 +3014,7 @@
</span><span class="cx">                     : $attribute-&gt;signature-&gt;extendedAttributes-&gt;{DocumentEventHandler} ? &quot;documentEventHandlerAttribute&quot;
</span><span class="cx">                     : &quot;eventHandlerAttribute&quot;;
</span><span class="cx">                 my $eventName = EventHandlerAttributeEventName($attribute);
</span><del>-                push(@implContent, &quot;    return $getter(thisObject-&gt;wrapped(), $eventName);\n&quot;);
</del><ins>+                push(@implContent, &quot;    return $getter(thisObject.wrapped(), $eventName);\n&quot;);
</ins><span class="cx">             } elsif ($attribute-&gt;signature-&gt;type =~ /Constructor$/) {
</span><span class="cx">                 my $constructorType = $attribute-&gt;signature-&gt;type;
</span><span class="cx">                 $constructorType =~ s/Constructor$//;
</span><span class="lines">@@ -3022,10 +3023,10 @@
</span><span class="cx">                 if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">                     my $named = ($constructorType =~ /Named$/) ? &quot;Named&quot; : &quot;&quot;;
</span><span class="cx">                     $constructorType =~ s/Named$//;
</span><del>-                    push(@implContent, &quot;    return JS&quot; . $constructorType . &quot;::get${named}Constructor(state-&gt;vm(), thisObject);\n&quot;);
</del><ins>+                    push(@implContent, &quot;    return JS&quot; . $constructorType . &quot;::get${named}Constructor(state.vm(), &amp;thisObject);\n&quot;);
</ins><span class="cx">                 } else {
</span><span class="cx">                     AddToImplIncludes(&quot;JS&quot; . $constructorType . &quot;.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</span><del>-                    push(@implContent, &quot;    return JS&quot; . $constructorType . &quot;::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());\n&quot;);
</del><ins>+                    push(@implContent, &quot;    return JS&quot; . $constructorType . &quot;::getConstructor(state.vm(), thisObject.globalObject());\n&quot;);
</ins><span class="cx">                 }
</span><span class="cx">             } elsif (!$attribute-&gt;signature-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyException}) {
</span><span class="cx">                 my $cacheIndex = 0;
</span><span class="lines">@@ -3032,20 +3033,20 @@
</span><span class="cx">                 if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute}) {
</span><span class="cx">                     $cacheIndex = $currentCachedAttribute;
</span><span class="cx">                     $currentCachedAttribute++;
</span><del>-                    push(@implContent, &quot;    if (JSValue cachedValue = thisObject-&gt;m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.get())\n&quot;);
</del><ins>+                    push(@implContent, &quot;    if (JSValue cachedValue = thisObject.m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.get())\n&quot;);
</ins><span class="cx">                     push(@implContent, &quot;        return cachedValue;\n&quot;);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                my @callWithArgs = GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;jsUndefined()&quot;);
</del><ins>+                my @callWithArgs = GenerateCallWithUsingReferences($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;jsUndefined()&quot;);
</ins><span class="cx"> 
</span><span class="cx">                 if ($svgListPropertyType) {
</span><del>-                    push(@implContent, &quot;    JSValue result =  &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;thisObject-&gt;wrapped().$implGetterFunctionName(&quot; . (join &quot;, &quot;, @callWithArgs) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</del><ins>+                    push(@implContent, &quot;    JSValue result =  &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;thisObject.wrapped().$implGetterFunctionName(&quot; . (join &quot;, &quot;, @callWithArgs) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx">                 } elsif ($svgPropertyOrListPropertyType) {
</span><del>-                    push(@implContent, &quot;    $svgPropertyOrListPropertyType&amp; impl = thisObject-&gt;wrapped().propertyReference();\n&quot;);
</del><ins>+                    push(@implContent, &quot;    $svgPropertyOrListPropertyType&amp; impl = thisObject.wrapped().propertyReference();\n&quot;);
</ins><span class="cx">                     if ($svgPropertyOrListPropertyType eq &quot;float&quot;) { # Special case for JSSVGNumber
</span><del>-                        push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;impl&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</del><ins>+                        push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;impl&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx">                     } else {
</span><del>-                        push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . (join &quot;, &quot;, @callWithArgs) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</del><ins>+                        push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . (join &quot;, &quot;, @callWithArgs) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx"> 
</span><span class="cx">                     }
</span><span class="cx">                 } else {
</span><span class="lines">@@ -3062,31 +3063,31 @@
</span><span class="cx">                     }
</span><span class="cx"> 
</span><span class="cx">                     unshift(@arguments, @callWithArgs);
</span><del>-                    my $jsType = NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;${functionName}(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;);
-                    push(@implContent, &quot;    auto&amp; impl = thisObject-&gt;wrapped();\n&quot;) if !$attribute-&gt;isStatic;
</del><ins>+                    my $jsType = NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;${functionName}(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;);
+                    push(@implContent, &quot;    auto&amp; impl = thisObject.wrapped();\n&quot;) if !$attribute-&gt;isStatic;
</ins><span class="cx">                     if ($codeGenerator-&gt;IsSVGAnimatedType($type)) {
</span><span class="cx">                         push(@implContent, &quot;    auto obj = $jsType;\n&quot;);
</span><del>-                        push(@implContent, &quot;    JSValue result = toJS(state, thisObject-&gt;globalObject(), obj.get());\n&quot;);
</del><ins>+                        push(@implContent, &quot;    JSValue result = toJS(&amp;state, thisObject.globalObject(), obj.get());\n&quot;);
</ins><span class="cx">                     } else {
</span><span class="cx">                         push(@implContent, &quot;    JSValue result = $jsType;\n&quot;);
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;    thisObject-&gt;m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.set(state-&gt;vm(), thisObject, result);\n&quot;) if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute};
</del><ins>+                push(@implContent, &quot;    thisObject.m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.set(state.vm(), &amp;thisObject, result);\n&quot;) if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute};
</ins><span class="cx">                 push(@implContent, &quot;    return result;\n&quot;);
</span><span class="cx"> 
</span><span class="cx">             } else {
</span><del>-                unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;jsUndefined()&quot;));
</del><ins>+                unshift(@arguments, GenerateCallWithUsingReferences($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;jsUndefined()&quot;, 0));
</ins><span class="cx"> 
</span><span class="cx">                 if ($svgPropertyOrListPropertyType) {
</span><del>-                    push(@implContent, &quot;    $svgPropertyOrListPropertyType impl(*thisObject-&gt;wrapped());\n&quot;);
-                    push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</del><ins>+                    push(@implContent, &quot;    $svgPropertyOrListPropertyType impl(*thisObject.wrapped());\n&quot;);
+                    push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx">                 } else {
</span><del>-                    push(@implContent, &quot;    auto&amp; impl = thisObject-&gt;wrapped();\n&quot;);
-                    push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</del><ins>+                    push(@implContent, &quot;    auto&amp; impl = thisObject.wrapped();\n&quot;);
+                    push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingReferences($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;    setDOMException(state, throwScope, ec);\n&quot;);
</del><ins>+                push(@implContent, &quot;    setDOMException(&amp;state, throwScope, ec);\n&quot;);
</ins><span class="cx"> 
</span><span class="cx">                 push(@implContent, &quot;    return result;\n&quot;);
</span><span class="cx">             }
</span><span class="lines">@@ -3370,8 +3371,8 @@
</span><span class="cx">                         $functionName = &quot;impl.${functionName}&quot;;
</span><span class="cx">                     }
</span><span class="cx"> 
</span><del>-                    unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{SetterCallWith}, \@implContent, &quot;false&quot;));
-                    unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;false&quot;));
</del><ins>+                    unshift(@arguments, GenerateCallWithUsingPointers($attribute-&gt;signature-&gt;extendedAttributes-&gt;{SetterCallWith}, \@implContent, &quot;false&quot;));
+                    unshift(@arguments, GenerateCallWithUsingPointers($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;false&quot;));
</ins><span class="cx"> 
</span><span class="cx">                     push(@arguments, &quot;ec&quot;) if $setterMayThrowLegacyException;
</span><span class="cx"> 
</span><span class="lines">@@ -3857,6 +3858,29 @@
</span><span class="cx">     push(@implContent, &quot;    ASSERT_GC_OBJECT_INHERITS(castedThis, ${className}::info());\n&quot;) unless $interface-&gt;name eq &quot;EventTarget&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+sub GenerateCallWithUsingReferences
+{
+    my ($callWith, $outputArray, $returnValue, $function) = @_;
+
+    my $statePointer = &quot;&amp;state&quot;;
+    my $stateReference = &quot;state&quot;;
+    my $globalObject = &quot;jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())&quot;;
+
+    return GenerateCallWith($callWith, $outputArray, $returnValue, $function, $statePointer, $stateReference, $globalObject);
+}
+
+# FIXME: We should remove GenerateCallWithUsingPointers and combine GenerateCallWithUsingReferences and GenerateCallWith
+sub GenerateCallWithUsingPointers
+{
+    my ($callWith, $outputArray, $returnValue, $function) = @_;
+
+    my $statePointer = &quot;state&quot;;
+    my $stateReference = &quot;*state&quot;;
+    my $globalObject = &quot;jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())&quot;;
+
+    return GenerateCallWith($callWith, $outputArray, $returnValue, $function, $statePointer, $stateReference, $globalObject);
+}
+
</ins><span class="cx"> sub GenerateCallWith
</span><span class="cx"> {
</span><span class="cx">     my $callWith = shift;
</span><span class="lines">@@ -3864,11 +3888,14 @@
</span><span class="cx">     my $outputArray = shift;
</span><span class="cx">     my $returnValue = shift;
</span><span class="cx">     my $function = shift;
</span><ins>+    my $statePointer = shift;
+    my $stateReference = shift;
+    my $globalObject = shift;
</ins><span class="cx"> 
</span><span class="cx">     my @callWithArgs;
</span><del>-    push(@callWithArgs, &quot;*state&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;ScriptState&quot;);
</del><ins>+    push(@callWithArgs, $stateReference) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;ScriptState&quot;);
</ins><span class="cx">     if ($codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;ScriptExecutionContext&quot;)) {
</span><del>-        push(@$outputArray, &quot;    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();\n&quot;);
</del><ins>+        push(@$outputArray, &quot;    auto* context = $globalObject-&gt;scriptExecutionContext();\n&quot;);
</ins><span class="cx">         push(@$outputArray, &quot;    if (!context)\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;        return&quot; . ($returnValue ? &quot; &quot; . $returnValue : &quot;&quot;) . &quot;;\n&quot;);
</span><span class="cx">         push(@callWithArgs, &quot;*context&quot;);
</span><span class="lines">@@ -3875,7 +3902,7 @@
</span><span class="cx">     }
</span><span class="cx">     if ($codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;Document&quot;)) {
</span><span class="cx">         $implIncludes{&quot;Document.h&quot;} = 1;
</span><del>-        push(@$outputArray, &quot;    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();\n&quot;);
</del><ins>+        push(@$outputArray, &quot;    auto* context = $globalObject-&gt;scriptExecutionContext();\n&quot;);
</ins><span class="cx">         push(@$outputArray, &quot;    if (!context)\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;        return&quot; . ($returnValue ? &quot; &quot; . $returnValue : &quot;&quot;) . &quot;;\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    ASSERT(context-&gt;isDocument());\n&quot;);
</span><span class="lines">@@ -3884,20 +3911,20 @@
</span><span class="cx">     }
</span><span class="cx">     if ($codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;CallerDocument&quot;)) {
</span><span class="cx">         $implIncludes{&quot;Document.h&quot;} = 1;
</span><del>-        push(@$outputArray, &quot;    auto* document = callerDOMWindow(state).document();\n&quot;);
</del><ins>+        push(@$outputArray, &quot;    auto* document = callerDOMWindow($statePointer).document();\n&quot;);
</ins><span class="cx">         push(@$outputArray, &quot;    if (!document)\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;        return&quot; . ($returnValue ? &quot; &quot; . $returnValue : &quot;&quot;) . &quot;;\n&quot;);
</span><span class="cx">         push(@callWithArgs, &quot;*document&quot;);
</span><span class="cx">     }
</span><span class="cx">     if ($function and $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;ScriptArguments&quot;)) {
</span><del>-        push(@$outputArray, &quot;    RefPtr&lt;Inspector::ScriptArguments&gt; scriptArguments(Inspector::createScriptArguments(state, &quot; . @{$function-&gt;parameters} . &quot;));\n&quot;);
</del><ins>+        push(@$outputArray, &quot;    RefPtr&lt;Inspector::ScriptArguments&gt; scriptArguments(Inspector::createScriptArguments($statePointer, &quot; . @{$function-&gt;parameters} . &quot;));\n&quot;);
</ins><span class="cx">         $implIncludes{&quot;&lt;inspector/ScriptArguments.h&gt;&quot;} = 1;
</span><span class="cx">         $implIncludes{&quot;&lt;inspector/ScriptCallStackFactory.h&gt;&quot;} = 1;
</span><span class="cx">         push(@callWithArgs, &quot;WTFMove(scriptArguments)&quot;);
</span><span class="cx">     }
</span><del>-    push(@callWithArgs, &quot;activeDOMWindow(state)&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;ActiveWindow&quot;);
-    push(@callWithArgs, &quot;firstDOMWindow(state)&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;FirstWindow&quot;);
-    push(@callWithArgs, &quot;callerDOMWindow(state)&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;CallerWindow&quot;);
</del><ins>+    push(@callWithArgs, &quot;activeDOMWindow($statePointer)&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;ActiveWindow&quot;);
+    push(@callWithArgs, &quot;firstDOMWindow($statePointer)&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;FirstWindow&quot;);
+    push(@callWithArgs, &quot;callerDOMWindow($statePointer)&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($callWith, &quot;CallerWindow&quot;);
</ins><span class="cx"> 
</span><span class="cx">     return @callWithArgs;
</span><span class="cx"> }
</span><span class="lines">@@ -3995,7 +4022,7 @@
</span><span class="cx">     if (!$function-&gt;signature-&gt;extendedAttributes-&gt;{Constructor}) {
</span><span class="cx">         my $name = $function-&gt;signature-&gt;name;
</span><span class="cx">         $quotedFunctionName = &quot;\&quot;$name\&quot;&quot;;
</span><del>-        push(@arguments, GenerateCallWith($function-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@$outputArray, &quot;JSValue::encode(jsUndefined())&quot;, $function));
</del><ins>+        push(@arguments, GenerateCallWithUsingPointers($function-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@$outputArray, &quot;JSValue::encode(jsUndefined())&quot;, $function));
</ins><span class="cx">     } else {
</span><span class="cx">         $quotedFunctionName = &quot;nullptr&quot;;
</span><span class="cx">     }
</span><span class="lines">@@ -4445,7 +4472,7 @@
</span><span class="cx"> 
</span><span class="cx">             foreach my $param (@params) {
</span><span class="cx">                 my $paramName = $param-&gt;name;
</span><del>-                push(@implContent, &quot;    args.append(&quot; . NativeToJSValue($param, 1, $interface, $paramName, &quot;m_data&quot;) . &quot;);\n&quot;);
</del><ins>+                push(@implContent, &quot;    args.append(&quot; . NativeToJSValueUsingPointers($param, 1, $interface, $paramName, &quot;m_data&quot;) . &quot;);\n&quot;);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             push(@implContent, &quot;\n    NakedPtr&lt;JSC::Exception&gt; returnedException;\n&quot;);
</span><span class="lines">@@ -4543,23 +4570,23 @@
</span><span class="cx">             push(@implContent, $indent . &quot;    $nativeType memoizedResult = $functionString;\n&quot;);
</span><span class="cx">             my $exceptionCode = $mayThrowLegacyException ? &quot;ec&quot; : &quot;0&quot;;
</span><span class="cx">             push(@implContent, $indent . &quot;    cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, $exceptionCode);\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValueUsingPointers($function-&gt;signature, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
</ins><span class="cx">             push(@implContent, $indent . &quot;} else if (cursor.isReplaying()) {\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;    MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;    $memoizedType memoizedResult;\n&quot;);
</span><span class="cx">             # FIXME: the generated code should report an error if an input cannot be fetched or converted.
</span><span class="cx">             push(@implContent, $indent . &quot;    if (input &amp;&amp; input-&gt;convertTo&lt;$memoizedType&gt;(memoizedResult)) {\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValueUsingPointers($function-&gt;signature, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
</ins><span class="cx">             push(@implContent, $indent . &quot;        ec = input-&gt;exceptionCode();\n&quot;) if $mayThrowLegacyException;
</span><span class="cx">             push(@implContent, $indent . &quot;    } else\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValueUsingPointers($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</ins><span class="cx">             push(@implContent, $indent . &quot;} else\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValueUsingPointers($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;#else\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;result = &quot; . NativeToJSValueUsingPointers($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;#endif\n&quot;);
</span><span class="cx">         } else {
</span><del>-            push(@implContent, $indent . &quot;JSValue result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;JSValue result = &quot; . NativeToJSValueUsingPointers($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         push(@implContent, &quot;\n&quot; . $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
</span><span class="lines">@@ -4887,23 +4914,44 @@
</span><span class="cx">     return (&quot;JS${type}::toWrapped($value)&quot;, 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub NativeToJSValue
</del><ins>+sub NativeToJSValueUsingReferences
</ins><span class="cx"> {
</span><span class="cx">     my ($signature, $inFunctionCall, $interface, $value, $thisValue) = @_;
</span><ins>+    my $statePointer = &quot;&amp;state&quot;;
+    my $stateReference = &quot;state&quot;;
+    my $wrapped = &quot;$thisValue.wrapped()&quot;;
+    my $globalObject = $thisValue ? &quot;$thisValue.globalObject()&quot; : &quot;jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())&quot;;
</ins><span class="cx"> 
</span><ins>+    return NativeToJSValue($signature, $inFunctionCall, $interface, $value, $statePointer, $stateReference, $wrapped, $globalObject);
+}
+
+# FIXME: We should remove NativeToJSValueUsingPointers and combine NativeToJSValueUsingReferences and NativeToJSValue
+sub NativeToJSValueUsingPointers
+{
+    my ($signature, $inFunctionCall, $interface, $value, $thisValue) = @_;
+    my $statePointer = &quot;state&quot;;
+    my $stateReference = &quot;*state&quot;;
+    my $wrapped = &quot;$thisValue-&gt;wrapped()&quot;;
+    my $globalObject = $thisValue ? &quot;$thisValue-&gt;globalObject()&quot; : &quot;jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())&quot;;
+
+    return NativeToJSValue($signature, $inFunctionCall, $interface, $value, $statePointer, $stateReference, $wrapped, $globalObject);
+}
+
+sub NativeToJSValue
+{
+    my ($signature, $inFunctionCall, $interface, $value, $statePointer, $stateReference, $wrapped, $globalObject) = @_;
+
</ins><span class="cx">     my $conditional = $signature-&gt;extendedAttributes-&gt;{Conditional};
</span><span class="cx">     my $type = $signature-&gt;type;
</span><span class="cx">     my $isNullable = $signature-&gt;isNullable;
</span><span class="cx">     my $mayThrowException = $signature-&gt;extendedAttributes-&gt;{GetterMayThrowException} || $signature-&gt;extendedAttributes-&gt;{MayThrowException};
</span><span class="cx"> 
</span><del>-    my $globalObject = $thisValue ? &quot;$thisValue-&gt;globalObject()&quot; : &quot;jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())&quot;;
-
-    return &quot;toJSBoolean(*state, throwScope, $value)&quot; if $type eq &quot;boolean&quot; &amp;&amp; $mayThrowException;
</del><ins>+    return &quot;toJSBoolean($stateReference, throwScope, $value)&quot; if $type eq &quot;boolean&quot; &amp;&amp; $mayThrowException;
</ins><span class="cx">     return &quot;jsBoolean($value)&quot; if $type eq &quot;boolean&quot;;
</span><del>-    return &quot;toJSNullableDate(*state, throwScope, $value)&quot; if $type eq &quot;Date&quot; &amp;&amp; $isNullable &amp;&amp; $mayThrowException;
-    return &quot;jsDateOrNull(state, $value)&quot; if $type eq &quot;Date&quot; &amp;&amp; $isNullable;
-    return &quot;toJSDate(*state, throwScope, $value)&quot; if $type eq &quot;Date&quot; &amp;&amp; $mayThrowException;
-    return &quot;jsDate(state, $value)&quot; if $type eq &quot;Date&quot;;
</del><ins>+    return &quot;toJSNullableDate($stateReference, throwScope, $value)&quot; if $type eq &quot;Date&quot; &amp;&amp; $isNullable &amp;&amp; $mayThrowException;
+    return &quot;jsDateOrNull($statePointer, $value)&quot; if $type eq &quot;Date&quot; &amp;&amp; $isNullable;
+    return &quot;toJSDate($stateReference, throwScope, $value)&quot; if $type eq &quot;Date&quot; &amp;&amp; $mayThrowException;
+    return &quot;jsDate($statePointer, $value)&quot; if $type eq &quot;Date&quot;;
</ins><span class="cx"> 
</span><span class="cx">     if ($codeGenerator-&gt;IsNumericType($type) or $type eq &quot;DOMTimeStamp&quot;) {
</span><span class="cx">         # We could instead overload a function to work with optional as well as non-optional numbers, but this
</span><span class="lines">@@ -4912,29 +4960,29 @@
</span><span class="cx">             $value =~ s/getUnsignedIntegralAttribute/getIntegralAttribute/g;
</span><span class="cx">             $value = &quot;std::max(0, $value)&quot;;
</span><span class="cx">         }
</span><del>-        return &quot;toJSNullableNumber(*state, throwScope, $value)&quot; if $isNullable &amp;&amp; $mayThrowException;
</del><ins>+        return &quot;toJSNullableNumber($stateReference, throwScope, $value)&quot; if $isNullable &amp;&amp; $mayThrowException;
</ins><span class="cx">         return &quot;toNullableJSNumber($value)&quot; if $isNullable;
</span><del>-        return &quot;toJSNumber(*state, throwScope, $value)&quot; if $mayThrowException;
</del><ins>+        return &quot;toJSNumber($stateReference, throwScope, $value)&quot; if $mayThrowException;
</ins><span class="cx">         return &quot;jsNumber($value)&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($codeGenerator-&gt;IsEnumType($type)) {
</span><span class="cx">         AddToImplIncludes(&quot;&lt;runtime/JSString.h&gt;&quot;, $conditional);
</span><del>-        return &quot;jsStringWithCache(state, $value)&quot;;
</del><ins>+        return &quot;jsStringWithCache($statePointer, $value)&quot;;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($codeGenerator-&gt;IsStringType($type)) {
</span><span class="cx">         AddToImplIncludes(&quot;URL.h&quot;, $conditional);
</span><del>-        return &quot;jsStringOrNull(state, $value)&quot; if $isNullable;
</del><ins>+        return &quot;jsStringOrNull($statePointer, $value)&quot; if $isNullable;
</ins><span class="cx">         AddToImplIncludes(&quot;&lt;runtime/JSString.h&gt;&quot;, $conditional);
</span><del>-        return &quot;jsStringWithCache(state, $value)&quot;;
</del><ins>+        return &quot;jsStringWithCache($statePointer, $value)&quot;;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($codeGenerator-&gt;IsSequenceOrFrozenArrayType($type)) {
</span><span class="cx">         my $innerType = $codeGenerator-&gt;GetSequenceOrFrozenArrayInnerType($type);
</span><span class="cx">         AddToImplIncludes(&quot;JS${innerType}.h&quot;, $conditional) if $codeGenerator-&gt;IsRefPtrType($innerType);
</span><del>-        return &quot;jsArray(state, $globalObject, $value)&quot; if $codeGenerator-&gt;IsSequenceType($type);
-        return &quot;jsFrozenArray(state, $globalObject, $value)&quot; if $codeGenerator-&gt;IsFrozenArrayType($type);
</del><ins>+        return &quot;jsArray($statePointer, $globalObject, $value)&quot; if $codeGenerator-&gt;IsSequenceType($type);
+        return &quot;jsFrozenArray($statePointer, $globalObject, $value)&quot; if $codeGenerator-&gt;IsFrozenArrayType($type);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($type eq &quot;any&quot;) {
</span><span class="lines">@@ -4941,7 +4989,7 @@
</span><span class="cx">         my $returnType = $signature-&gt;extendedAttributes-&gt;{ImplementationReturnType};
</span><span class="cx">         if (defined $returnType and ($returnType eq &quot;IDBKeyPath&quot; or $returnType eq &quot;IDBKey&quot;)) {
</span><span class="cx">             AddToImplIncludes(&quot;IDBBindingUtilities.h&quot;, $conditional);
</span><del>-            return &quot;toJS(*state, *$globalObject, $value)&quot;;
</del><ins>+            return &quot;toJS($stateReference, *$globalObject, $value)&quot;;
</ins><span class="cx">         }
</span><span class="cx">         return $value;
</span><span class="cx">     }
</span><span class="lines">@@ -4948,7 +4996,7 @@
</span><span class="cx"> 
</span><span class="cx">     if ($type eq &quot;SerializedScriptValue&quot;) {
</span><span class="cx">         AddToImplIncludes(&quot;SerializedScriptValue.h&quot;, $conditional);
</span><del>-        return &quot;$value ? $value-&gt;deserialize(state, $thisValue-&gt;globalObject(), 0) : jsNull()&quot;;
</del><ins>+        return &quot;$value ? $value-&gt;deserialize($statePointer, $globalObject, 0) : jsNull()&quot;;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     AddToImplIncludes(&quot;StyleProperties.h&quot;, $conditional) if $type eq &quot;CSSStyleDeclaration&quot;;
</span><span class="lines">@@ -4976,7 +5024,7 @@
</span><span class="cx">             if ($selfIsTearOffType) {
</span><span class="cx">                 # FIXME: Why SVGMatrix specifically?
</span><span class="cx">                 AddToImplIncludes(&quot;SVGMatrixTearOff.h&quot;, $conditional);
</span><del>-                $value = &quot;SVGMatrixTearOff::create($thisValue-&gt;wrapped(), $value)&quot;;
</del><ins>+                $value = &quot;SVGMatrixTearOff::create($wrapped, $value)&quot;;
</ins><span class="cx">             } else {
</span><span class="cx">                 AddToImplIncludes(&quot;SVGStaticPropertyTearOff.h&quot;, $conditional);
</span><span class="cx">                 my $interfaceName = $interface-&gt;name;
</span><span class="lines">@@ -4993,8 +5041,8 @@
</span><span class="cx">     my $functionName = &quot;toJS&quot;;
</span><span class="cx">     $functionName = &quot;toJSNewlyCreated&quot; if $signature-&gt;extendedAttributes-&gt;{NewObject};
</span><span class="cx"> 
</span><del>-    my $arguments = &quot;state, $globalObject, $value&quot;;
-    $arguments = &quot;*state, *$globalObject, throwScope, $value&quot; if $mayThrowException;
</del><ins>+    my $arguments = &quot;$statePointer, $globalObject, $value&quot;;
+    $arguments = &quot;$stateReference, *$globalObject, throwScope, $value&quot; if $mayThrowException;
</ins><span class="cx"> 
</span><span class="cx">     return &quot;$functionName($arguments)&quot;;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -145,7 +145,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestActiveDOMObject*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestActiveDOMObjectExcitingAttrGetter(ExecState*, JSTestActiveDOMObject*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestActiveDOMObjectExcitingAttrGetter(ExecState&amp;, JSTestActiveDOMObject&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestActiveDOMObjectExcitingAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -152,13 +152,13 @@
</span><span class="cx">     return BindingCaller&lt;JSTestActiveDOMObject&gt;::attribute&lt;jsTestActiveDOMObjectExcitingAttrGetter&gt;(state, thisValue, &quot;excitingAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestActiveDOMObjectExcitingAttrGetter(ExecState* state, JSTestActiveDOMObject* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestActiveDOMObjectExcitingAttrGetter(ExecState&amp; state, JSTestActiveDOMObject&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    if (!BindingSecurity::shouldAllowAccessToFrame(state, thisObject-&gt;wrapped().frame(), ThrowSecurityError))
</del><ins>+    if (!BindingSecurity::shouldAllowAccessToFrame(&amp;state, thisObject.wrapped().frame(), ThrowSecurityError))
</ins><span class="cx">         return jsUndefined();
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.excitingAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestEventConstructor*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestEventConstructorAttr1Getter(ExecState*, JSTestEventConstructor*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestEventConstructorAttr1Getter(ExecState&amp;, JSTestEventConstructor&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestEventConstructorAttr1(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -190,16 +190,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestEventConstructor&gt;::attribute&lt;jsTestEventConstructorAttr1Getter&gt;(state, thisValue, &quot;attr1&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestEventConstructorAttr1Getter(ExecState* state, JSTestEventConstructor* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestEventConstructorAttr1Getter(ExecState&amp; state, JSTestEventConstructor&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attr1());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attr1());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestEventConstructorAttr2Getter(ExecState*, JSTestEventConstructor*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestEventConstructorAttr2Getter(ExecState&amp;, JSTestEventConstructor&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestEventConstructorAttr2(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -206,17 +206,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestEventConstructor&gt;::attribute&lt;jsTestEventConstructorAttr2Getter&gt;(state, thisValue, &quot;attr2&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestEventConstructorAttr2Getter(ExecState* state, JSTestEventConstructor* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestEventConstructorAttr2Getter(ExecState&amp; state, JSTestEventConstructor&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attr2());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attr2());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SPECIAL_EVENT)
</span><del>-static inline JSValue jsTestEventConstructorAttr3Getter(ExecState*, JSTestEventConstructor*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestEventConstructorAttr3Getter(ExecState&amp;, JSTestEventConstructor&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestEventConstructorAttr3(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -223,12 +223,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestEventConstructor&gt;::attribute&lt;jsTestEventConstructorAttr3Getter&gt;(state, thisValue, &quot;attr3&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestEventConstructorAttr3Getter(ExecState* state, JSTestEventConstructor* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestEventConstructorAttr3Getter(ExecState&amp; state, JSTestEventConstructor&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attr3());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attr3());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestException*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestExceptionNameGetter(ExecState*, JSTestException*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestExceptionNameGetter(ExecState&amp;, JSTestException&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestExceptionName(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -144,12 +144,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestException&gt;::attribute&lt;jsTestExceptionNameGetter&gt;(state, thisValue, &quot;name&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestExceptionNameGetter(ExecState* state, JSTestException* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestExceptionNameGetter(ExecState&amp; state, JSTestException&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.name());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.name());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestGlobalObject*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestGlobalObjectRegularAttributeGetter(ExecState*, JSTestGlobalObject*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestGlobalObjectRegularAttributeGetter(ExecState&amp;, JSTestGlobalObject&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestGlobalObjectRegularAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -189,16 +189,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestGlobalObject&gt;::attribute&lt;jsTestGlobalObjectRegularAttributeGetter&gt;(state, thisValue, &quot;regularAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestGlobalObjectRegularAttributeGetter(ExecState* state, JSTestGlobalObject* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestGlobalObjectRegularAttributeGetter(ExecState&amp; state, JSTestGlobalObject&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.regularAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.regularAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestGlobalObjectPublicAndPrivateAttributeGetter(ExecState*, JSTestGlobalObject*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestGlobalObjectPublicAndPrivateAttributeGetter(ExecState&amp;, JSTestGlobalObject&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestGlobalObjectPublicAndPrivateAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -205,17 +205,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestGlobalObject&gt;::attribute&lt;jsTestGlobalObjectPublicAndPrivateAttributeGetter&gt;(state, thisValue, &quot;publicAndPrivateAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestGlobalObjectPublicAndPrivateAttributeGetter(ExecState* state, JSTestGlobalObject* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestGlobalObjectPublicAndPrivateAttributeGetter(ExecState&amp; state, JSTestGlobalObject&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.publicAndPrivateAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.publicAndPrivateAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TEST_FEATURE)
</span><del>-static inline JSValue jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter(ExecState*, JSTestGlobalObject*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter(ExecState&amp;, JSTestGlobalObject&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestGlobalObjectPublicAndPrivateConditionalAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -222,12 +222,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestGlobalObject&gt;::attribute&lt;jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter&gt;(state, thisValue, &quot;publicAndPrivateConditionalAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter(ExecState* state, JSTestGlobalObject* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter(ExecState&amp; state, JSTestGlobalObject&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.publicAndPrivateConditionalAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.publicAndPrivateConditionalAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -234,7 +234,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TEST_FEATURE)
</span><del>-static inline JSValue jsTestGlobalObjectEnabledAtRuntimeAttributeGetter(ExecState*, JSTestGlobalObject*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestGlobalObjectEnabledAtRuntimeAttributeGetter(ExecState&amp;, JSTestGlobalObject&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestGlobalObjectEnabledAtRuntimeAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -241,12 +241,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestGlobalObject&gt;::attribute&lt;jsTestGlobalObjectEnabledAtRuntimeAttributeGetter&gt;(state, thisValue, &quot;enabledAtRuntimeAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestGlobalObjectEnabledAtRuntimeAttributeGetter(ExecState* state, JSTestGlobalObject* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestGlobalObjectEnabledAtRuntimeAttributeGetter(ExecState&amp; state, JSTestGlobalObject&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.enabledAtRuntimeAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.enabledAtRuntimeAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -416,14 +416,15 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-static inline JSValue jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter(ExecState*);
</del><ins>+static inline JSValue jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter(ExecState&amp;);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceConstructorImplementsStaticReadOnlyAttr(ExecState* state, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><del>-    return JSValue::encode(jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter(state));
</del><ins>+    ASSERT(state);
+    return JSValue::encode(jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter(*state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter(ExecState* state)
</del><ins>+static inline JSValue jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter(ExecState&amp; state)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     JSValue result = jsNumber(TestInterface::implementsStaticReadOnlyAttr());
</span><span class="lines">@@ -433,17 +434,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-static inline JSValue jsTestInterfaceConstructorImplementsStaticAttrGetter(ExecState*);
</del><ins>+static inline JSValue jsTestInterfaceConstructorImplementsStaticAttrGetter(ExecState&amp;);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceConstructorImplementsStaticAttr(ExecState* state, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><del>-    return JSValue::encode(jsTestInterfaceConstructorImplementsStaticAttrGetter(state));
</del><ins>+    ASSERT(state);
+    return JSValue::encode(jsTestInterfaceConstructorImplementsStaticAttrGetter(*state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceConstructorImplementsStaticAttrGetter(ExecState* state)
</del><ins>+static inline JSValue jsTestInterfaceConstructorImplementsStaticAttrGetter(ExecState&amp; state)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    JSValue result = jsStringWithCache(state, TestInterface::implementsStaticAttr());
</del><ins>+    JSValue result = jsStringWithCache(&amp;state, TestInterface::implementsStaticAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -450,7 +452,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-static inline JSValue jsTestInterfaceImplementsStr1Getter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceImplementsStr1Getter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceImplementsStr1(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -457,12 +459,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceImplementsStr1Getter&gt;(state, thisValue, &quot;implementsStr1&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceImplementsStr1Getter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceImplementsStr1Getter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.implementsStr1());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.implementsStr1());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -469,7 +471,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-static inline JSValue jsTestInterfaceImplementsStr2Getter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceImplementsStr2Getter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceImplementsStr2(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -476,12 +478,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceImplementsStr2Getter&gt;(state, thisValue, &quot;implementsStr2&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceImplementsStr2Getter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceImplementsStr2Getter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.implementsStr2());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.implementsStr2());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -488,7 +490,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-static inline JSValue jsTestInterfaceImplementsStr3Getter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceImplementsStr3Getter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceImplementsStr3(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -495,17 +497,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceImplementsStr3Getter&gt;(state, thisValue, &quot;implementsStr3&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceImplementsStr3Getter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceImplementsStr3Getter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return thisObject-&gt;implementsStr3(*state);
</del><ins>+    return thisObject.implementsStr3(state);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-static inline JSValue jsTestInterfaceImplementsNodeGetter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceImplementsNodeGetter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceImplementsNode(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -512,12 +514,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceImplementsNodeGetter&gt;(state, thisValue, &quot;implementsNode&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceImplementsNodeGetter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceImplementsNodeGetter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.implementsNode());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.implementsNode());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -524,14 +526,15 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-static inline JSValue jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter(ExecState*);
</del><ins>+static inline JSValue jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter(ExecState&amp;);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr(ExecState* state, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><del>-    return JSValue::encode(jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter(state));
</del><ins>+    ASSERT(state);
+    return JSValue::encode(jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter(*state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter(ExecState* state)
</del><ins>+static inline JSValue jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter(ExecState&amp; state)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     JSValue result = jsNumber(WebCore::TestSupplemental::supplementalStaticReadOnlyAttr());
</span><span class="lines">@@ -541,17 +544,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-static inline JSValue jsTestInterfaceConstructorSupplementalStaticAttrGetter(ExecState*);
</del><ins>+static inline JSValue jsTestInterfaceConstructorSupplementalStaticAttrGetter(ExecState&amp;);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceConstructorSupplementalStaticAttr(ExecState* state, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><del>-    return JSValue::encode(jsTestInterfaceConstructorSupplementalStaticAttrGetter(state));
</del><ins>+    ASSERT(state);
+    return JSValue::encode(jsTestInterfaceConstructorSupplementalStaticAttrGetter(*state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceConstructorSupplementalStaticAttrGetter(ExecState* state)
</del><ins>+static inline JSValue jsTestInterfaceConstructorSupplementalStaticAttrGetter(ExecState&amp; state)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    JSValue result = jsStringWithCache(state, WebCore::TestSupplemental::supplementalStaticAttr());
</del><ins>+    JSValue result = jsStringWithCache(&amp;state, WebCore::TestSupplemental::supplementalStaticAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -558,7 +562,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-static inline JSValue jsTestInterfaceSupplementalStr1Getter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceSupplementalStr1Getter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceSupplementalStr1(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -565,12 +569,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceSupplementalStr1Getter&gt;(state, thisValue, &quot;supplementalStr1&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceSupplementalStr1Getter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceSupplementalStr1Getter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, WebCore::TestSupplemental::supplementalStr1(impl));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, WebCore::TestSupplemental::supplementalStr1(impl));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -577,7 +581,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-static inline JSValue jsTestInterfaceSupplementalStr2Getter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceSupplementalStr2Getter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceSupplementalStr2(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -584,12 +588,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceSupplementalStr2Getter&gt;(state, thisValue, &quot;supplementalStr2&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceSupplementalStr2Getter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceSupplementalStr2Getter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, WebCore::TestSupplemental::supplementalStr2(impl));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, WebCore::TestSupplemental::supplementalStr2(impl));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -596,7 +600,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-static inline JSValue jsTestInterfaceSupplementalStr3Getter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceSupplementalStr3Getter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceSupplementalStr3(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -603,17 +607,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceSupplementalStr3Getter&gt;(state, thisValue, &quot;supplementalStr3&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceSupplementalStr3Getter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceSupplementalStr3Getter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return thisObject-&gt;supplementalStr3(*state);
</del><ins>+    return thisObject.supplementalStr3(state);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-static inline JSValue jsTestInterfaceSupplementalNodeGetter(ExecState*, JSTestInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestInterfaceSupplementalNodeGetter(ExecState&amp;, JSTestInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestInterfaceSupplementalNode(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -620,12 +624,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestInterface&gt;::attribute&lt;jsTestInterfaceSupplementalNodeGetter&gt;(state, thisValue, &quot;supplementalNode&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestInterfaceSupplementalNodeGetter(ExecState* state, JSTestInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestInterfaceSupplementalNodeGetter(ExecState&amp; state, JSTestInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), WebCore::TestSupplemental::supplementalNode(impl));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), WebCore::TestSupplemental::supplementalNode(impl));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestJSBuiltinConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestJSBuiltinConstructor*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestJSBuiltinConstructorTestAttributeCustomGetter(ExecState*, JSTestJSBuiltinConstructor*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestJSBuiltinConstructorTestAttributeCustomGetter(ExecState&amp;, JSTestJSBuiltinConstructor&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestJSBuiltinConstructorTestAttributeCustom(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -144,14 +144,14 @@
</span><span class="cx">     return BindingCaller&lt;JSTestJSBuiltinConstructor&gt;::attribute&lt;jsTestJSBuiltinConstructorTestAttributeCustomGetter&gt;(state, thisValue, &quot;testAttributeCustom&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestJSBuiltinConstructorTestAttributeCustomGetter(ExecState* state, JSTestJSBuiltinConstructor* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestJSBuiltinConstructorTestAttributeCustomGetter(ExecState&amp; state, JSTestJSBuiltinConstructor&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return thisObject-&gt;testAttributeCustom(*state);
</del><ins>+    return thisObject.testAttributeCustom(state);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestJSBuiltinConstructorTestAttributeRWCustomGetter(ExecState*, JSTestJSBuiltinConstructor*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestJSBuiltinConstructorTestAttributeRWCustomGetter(ExecState&amp;, JSTestJSBuiltinConstructor&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestJSBuiltinConstructorTestAttributeRWCustom(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -158,11 +158,11 @@
</span><span class="cx">     return BindingCaller&lt;JSTestJSBuiltinConstructor&gt;::attribute&lt;jsTestJSBuiltinConstructorTestAttributeRWCustomGetter&gt;(state, thisValue, &quot;testAttributeRWCustom&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestJSBuiltinConstructorTestAttributeRWCustomGetter(ExecState* state, JSTestJSBuiltinConstructor* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestJSBuiltinConstructorTestAttributeRWCustomGetter(ExecState&amp; state, JSTestJSBuiltinConstructor&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return thisObject-&gt;testAttributeRWCustom(*state);
</del><ins>+    return thisObject.testAttributeRWCustom(state);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestJSBuiltinConstructorConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestNode*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNodeNameGetter(ExecState*, JSTestNode*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestNodeNameGetter(ExecState&amp;, JSTestNode&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestNodeName(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -179,12 +179,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestNode&gt;::attribute&lt;jsTestNodeNameGetter&gt;(state, thisValue, &quot;name&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNodeNameGetter(ExecState* state, JSTestNode* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestNodeNameGetter(ExecState&amp; state, JSTestNode&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.name());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.name());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestNondeterministic*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicReadonlyAttrGetter(ExecState*, JSTestNondeterministic*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicReadonlyAttrGetter(ExecState&amp;, JSTestNondeterministic&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestNondeterministicNondeterministicReadonlyAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -155,16 +155,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestNondeterministic&gt;::attribute&lt;jsTestNondeterministicNondeterministicReadonlyAttrGetter&gt;(state, thisValue, &quot;nondeterministicReadonlyAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicReadonlyAttrGetter(ExecState* state, JSTestNondeterministic* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicReadonlyAttrGetter(ExecState&amp; state, JSTestNondeterministic&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state-&gt;lexicalGlobalObject();
</del><ins>+    JSGlobalObject* globalObject = state.lexicalGlobalObject();
</ins><span class="cx">     InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</span><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicReadonlyAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><del>-        int32_t memoizedResult = thisObject-&gt;wrapped().nondeterministicReadonlyAttr();
</del><ins>+        int32_t memoizedResult = thisObject.wrapped().nondeterministicReadonlyAttr();
</ins><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;int32_t&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><span class="cx">         JSValue result = jsNumber(memoizedResult);
</span><span class="cx">         return result;
</span><span class="lines">@@ -179,12 +179,12 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.nondeterministicReadonlyAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicWriteableAttrGetter(ExecState*, JSTestNondeterministic*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicWriteableAttrGetter(ExecState&amp;, JSTestNondeterministic&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestNondeterministicNondeterministicWriteableAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -191,18 +191,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestNondeterministic&gt;::attribute&lt;jsTestNondeterministicNondeterministicWriteableAttrGetter&gt;(state, thisValue, &quot;nondeterministicWriteableAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicWriteableAttrGetter(ExecState* state, JSTestNondeterministic* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicWriteableAttrGetter(ExecState&amp; state, JSTestNondeterministic&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state-&gt;lexicalGlobalObject();
</del><ins>+    JSGlobalObject* globalObject = state.lexicalGlobalObject();
</ins><span class="cx">     InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</span><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicWriteableAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><del>-        String memoizedResult = thisObject-&gt;wrapped().nondeterministicWriteableAttr();
</del><ins>+        String memoizedResult = thisObject.wrapped().nondeterministicWriteableAttr();
</ins><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = jsStringWithCache(state, memoizedResult);
</del><ins>+        JSValue result = jsStringWithCache(&amp;state, memoizedResult);
</ins><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -210,17 +210,17 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = jsStringWithCache(state, memoizedResult);
</del><ins>+            JSValue result = jsStringWithCache(&amp;state, memoizedResult);
</ins><span class="cx">             return result;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.nondeterministicWriteableAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.nondeterministicWriteableAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicExceptionAttrGetter(ExecState*, JSTestNondeterministic*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicExceptionAttrGetter(ExecState&amp;, JSTestNondeterministic&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestNondeterministicNondeterministicExceptionAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -227,18 +227,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestNondeterministic&gt;::attribute&lt;jsTestNondeterministicNondeterministicExceptionAttrGetter&gt;(state, thisValue, &quot;nondeterministicExceptionAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicExceptionAttrGetter(ExecState* state, JSTestNondeterministic* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicExceptionAttrGetter(ExecState&amp; state, JSTestNondeterministic&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state-&gt;lexicalGlobalObject();
</del><ins>+    JSGlobalObject* globalObject = state.lexicalGlobalObject();
</ins><span class="cx">     InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</span><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicExceptionAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><del>-        String memoizedResult = thisObject-&gt;wrapped().nondeterministicExceptionAttr();
</del><ins>+        String memoizedResult = thisObject.wrapped().nondeterministicExceptionAttr();
</ins><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = jsStringWithCache(state, memoizedResult);
</del><ins>+        JSValue result = jsStringWithCache(&amp;state, memoizedResult);
</ins><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -246,17 +246,17 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = jsStringWithCache(state, memoizedResult);
</del><ins>+            JSValue result = jsStringWithCache(&amp;state, memoizedResult);
</ins><span class="cx">             return result;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.nondeterministicExceptionAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.nondeterministicExceptionAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicGetterExceptionAttrGetter(ExecState*, JSTestNondeterministic*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicGetterExceptionAttrGetter(ExecState&amp;, JSTestNondeterministic&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestNondeterministicNondeterministicGetterExceptionAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -263,20 +263,20 @@
</span><span class="cx">     return BindingCaller&lt;JSTestNondeterministic&gt;::attribute&lt;jsTestNondeterministicNondeterministicGetterExceptionAttrGetter&gt;(state, thisValue, &quot;nondeterministicGetterExceptionAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicGetterExceptionAttrGetter(ExecState* state, JSTestNondeterministic* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicGetterExceptionAttrGetter(ExecState&amp; state, JSTestNondeterministic&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state-&gt;lexicalGlobalObject();
</del><ins>+    JSGlobalObject* globalObject = state.lexicalGlobalObject();
</ins><span class="cx">     InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</span><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicGetterExceptionAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><del>-        String memoizedResult = thisObject-&gt;wrapped().nondeterministicGetterExceptionAttr(ec);
</del><ins>+        String memoizedResult = thisObject.wrapped().nondeterministicGetterExceptionAttr(ec);
</ins><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, ec);
</span><del>-        JSValue result = jsStringWithCache(state, memoizedResult);
-        setDOMException(state, throwScope, ec);
</del><ins>+        JSValue result = jsStringWithCache(&amp;state, memoizedResult);
+        setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -284,19 +284,19 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = jsStringWithCache(state, memoizedResult);
-            setDOMException(state, throwScope, input-&gt;exceptionCode());
</del><ins>+            JSValue result = jsStringWithCache(&amp;state, memoizedResult);
+            setDOMException(&amp;state, throwScope, input-&gt;exceptionCode());
</ins><span class="cx">             return result;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.nondeterministicGetterExceptionAttr(ec));
-    setDOMException(state, throwScope, ec);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.nondeterministicGetterExceptionAttr(ec));
+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicSetterExceptionAttrGetter(ExecState*, JSTestNondeterministic*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicSetterExceptionAttrGetter(ExecState&amp;, JSTestNondeterministic&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestNondeterministicNondeterministicSetterExceptionAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -303,18 +303,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestNondeterministic&gt;::attribute&lt;jsTestNondeterministicNondeterministicSetterExceptionAttrGetter&gt;(state, thisValue, &quot;nondeterministicSetterExceptionAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestNondeterministicNondeterministicSetterExceptionAttrGetter(ExecState* state, JSTestNondeterministic* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestNondeterministicNondeterministicSetterExceptionAttrGetter(ExecState&amp; state, JSTestNondeterministic&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state-&gt;lexicalGlobalObject();
</del><ins>+    JSGlobalObject* globalObject = state.lexicalGlobalObject();
</ins><span class="cx">     InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</span><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicSetterExceptionAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><del>-        String memoizedResult = thisObject-&gt;wrapped().nondeterministicSetterExceptionAttr();
</del><ins>+        String memoizedResult = thisObject.wrapped().nondeterministicSetterExceptionAttr();
</ins><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = jsStringWithCache(state, memoizedResult);
</del><ins>+        JSValue result = jsStringWithCache(&amp;state, memoizedResult);
</ins><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -322,13 +322,13 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = jsStringWithCache(state, memoizedResult);
</del><ins>+            JSValue result = jsStringWithCache(&amp;state, memoizedResult);
</ins><span class="cx">             return result;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.nondeterministicSetterExceptionAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.nondeterministicSetterExceptionAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -1693,7 +1693,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReadOnlyLongAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReadOnlyLongAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReadOnlyLongAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1700,16 +1700,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReadOnlyLongAttrGetter&gt;(state, thisValue, &quot;readOnlyLongAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReadOnlyLongAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReadOnlyLongAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.readOnlyLongAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReadOnlyStringAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReadOnlyStringAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReadOnlyStringAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1716,16 +1716,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReadOnlyStringAttrGetter&gt;(state, thisValue, &quot;readOnlyStringAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReadOnlyStringAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReadOnlyStringAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.readOnlyStringAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.readOnlyStringAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReadOnlyTestObjAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReadOnlyTestObjAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReadOnlyTestObjAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1732,23 +1732,24 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReadOnlyTestObjAttrGetter&gt;(state, thisValue, &quot;readOnlyTestObjAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReadOnlyTestObjAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReadOnlyTestObjAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.readOnlyTestObjAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.readOnlyTestObjAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConstructorStaticReadOnlyLongAttrGetter(ExecState*);
</del><ins>+static inline JSValue jsTestObjConstructorStaticReadOnlyLongAttrGetter(ExecState&amp;);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConstructorStaticReadOnlyLongAttr(ExecState* state, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><del>-    return JSValue::encode(jsTestObjConstructorStaticReadOnlyLongAttrGetter(state));
</del><ins>+    ASSERT(state);
+    return JSValue::encode(jsTestObjConstructorStaticReadOnlyLongAttrGetter(*state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConstructorStaticReadOnlyLongAttrGetter(ExecState* state)
</del><ins>+static inline JSValue jsTestObjConstructorStaticReadOnlyLongAttrGetter(ExecState&amp; state)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     JSValue result = jsNumber(TestObj::staticReadOnlyLongAttr());
</span><span class="lines">@@ -1755,21 +1756,22 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConstructorStaticStringAttrGetter(ExecState*);
</del><ins>+static inline JSValue jsTestObjConstructorStaticStringAttrGetter(ExecState&amp;);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConstructorStaticStringAttr(ExecState* state, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><del>-    return JSValue::encode(jsTestObjConstructorStaticStringAttrGetter(state));
</del><ins>+    ASSERT(state);
+    return JSValue::encode(jsTestObjConstructorStaticStringAttrGetter(*state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConstructorStaticStringAttrGetter(ExecState* state)
</del><ins>+static inline JSValue jsTestObjConstructorStaticStringAttrGetter(ExecState&amp; state)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    JSValue result = jsStringWithCache(state, TestObj::staticStringAttr());
</del><ins>+    JSValue result = jsStringWithCache(&amp;state, TestObj::staticStringAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConstructorTestSubObjGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConstructorTestSubObjGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConstructorTestSubObj(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1776,14 +1778,14 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConstructorTestSubObjGetter&gt;(state, thisValue, &quot;TestSubObj&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConstructorTestSubObjGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConstructorTestSubObjGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return JSTestSubObj::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());
</del><ins>+    return JSTestSubObj::getConstructor(state.vm(), thisObject.globalObject());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestSubObjEnabledBySettingConstructorGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjTestSubObjEnabledBySettingConstructorGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjTestSubObjEnabledBySettingConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1790,19 +1792,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjTestSubObjEnabledBySettingConstructorGetter&gt;(state, thisValue, &quot;TestSubObjEnabledBySetting&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestSubObjEnabledBySettingConstructorGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjTestSubObjEnabledBySettingConstructorGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    if (UNLIKELY(!thisObject-&gt;wrapped().frame()))
</del><ins>+    if (UNLIKELY(!thisObject.wrapped().frame()))
</ins><span class="cx">         return jsUndefined();
</span><del>-    Settings&amp; settings = thisObject-&gt;wrapped().frame()-&gt;settings();
</del><ins>+    Settings&amp; settings = thisObject.wrapped().frame()-&gt;settings();
</ins><span class="cx">     if (!settings.testSettingEnabled())
</span><span class="cx">         return jsUndefined();
</span><del>-    return JSTestSubObj::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());
</del><ins>+    return JSTestSubObj::getConstructor(state.vm(), thisObject.globalObject());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjEnumAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjEnumAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjEnumAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1809,16 +1811,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjEnumAttrGetter&gt;(state, thisValue, &quot;enumAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjEnumAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjEnumAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.enumAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.enumAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjByteAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjByteAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjByteAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1825,16 +1827,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjByteAttrGetter&gt;(state, thisValue, &quot;byteAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjByteAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjByteAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.byteAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjOctetAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjOctetAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjOctetAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1841,16 +1843,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjOctetAttrGetter&gt;(state, thisValue, &quot;octetAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjOctetAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjOctetAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.octetAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjShortAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjShortAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjShortAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1857,16 +1859,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjShortAttrGetter&gt;(state, thisValue, &quot;shortAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjShortAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjShortAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.shortAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjClampedShortAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjClampedShortAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjClampedShortAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1873,16 +1875,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjClampedShortAttrGetter&gt;(state, thisValue, &quot;clampedShortAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjClampedShortAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjClampedShortAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.clampedShortAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjEnforceRangeShortAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjEnforceRangeShortAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjEnforceRangeShortAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1889,16 +1891,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjEnforceRangeShortAttrGetter&gt;(state, thisValue, &quot;enforceRangeShortAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjEnforceRangeShortAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjEnforceRangeShortAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.enforceRangeShortAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUnsignedShortAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjUnsignedShortAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjUnsignedShortAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1905,16 +1907,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjUnsignedShortAttrGetter&gt;(state, thisValue, &quot;unsignedShortAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUnsignedShortAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjUnsignedShortAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.unsignedShortAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjLongAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjLongAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjLongAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1921,16 +1923,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjLongAttrGetter&gt;(state, thisValue, &quot;longAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjLongAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjLongAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.longAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjLongLongAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjLongLongAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjLongLongAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1937,16 +1939,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjLongLongAttrGetter&gt;(state, thisValue, &quot;longLongAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjLongLongAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjLongLongAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.longLongAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUnsignedLongLongAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjUnsignedLongLongAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjUnsignedLongLongAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1953,16 +1955,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjUnsignedLongLongAttrGetter&gt;(state, thisValue, &quot;unsignedLongLongAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUnsignedLongLongAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjUnsignedLongLongAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.unsignedLongLongAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjStringAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStringAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1969,16 +1971,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjStringAttrGetter&gt;(state, thisValue, &quot;stringAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjStringAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUsvstringAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjUsvstringAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjUsvstringAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -1985,16 +1987,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjUsvstringAttrGetter&gt;(state, thisValue, &quot;usvstringAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUsvstringAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjUsvstringAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.usvstringAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.usvstringAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestObjAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjTestObjAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjTestObjAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2001,16 +2003,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjTestObjAttrGetter&gt;(state, thisValue, &quot;testObjAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestObjAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjTestObjAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.testObjAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.testObjAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestNullableObjAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjTestNullableObjAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjTestNullableObjAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2017,16 +2019,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjTestNullableObjAttrGetter&gt;(state, thisValue, &quot;testNullableObjAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestNullableObjAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjTestNullableObjAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.testNullableObjAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.testNullableObjAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjLenientTestObjAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjLenientTestObjAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjLenientTestObjAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2033,16 +2035,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjLenientTestObjAttrGetter, CastedThisErrorBehavior::ReturnEarly&gt;(state, thisValue, &quot;lenientTestObjAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjLenientTestObjAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjLenientTestObjAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.lenientTestObjAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.lenientTestObjAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUnforgeableAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjUnforgeableAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjUnforgeableAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2049,16 +2051,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjUnforgeableAttrGetter&gt;(state, thisValue, &quot;unforgeableAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUnforgeableAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjUnforgeableAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.unforgeableAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.unforgeableAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrTreatingNullAsEmptyStringGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjStringAttrTreatingNullAsEmptyStringGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStringAttrTreatingNullAsEmptyString(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2065,16 +2067,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjStringAttrTreatingNullAsEmptyStringGetter&gt;(state, thisValue, &quot;stringAttrTreatingNullAsEmptyString&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrTreatingNullAsEmptyStringGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjStringAttrTreatingNullAsEmptyStringGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringAttrTreatingNullAsEmptyString());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringAttrTreatingNullAsEmptyString());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjUsvstringAttrTreatingNullAsEmptyString(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2081,16 +2083,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter&gt;(state, thisValue, &quot;usvstringAttrTreatingNullAsEmptyString&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.usvstringAttrTreatingNullAsEmptyString());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.usvstringAttrTreatingNullAsEmptyString());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjImplementationEnumAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjImplementationEnumAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjImplementationEnumAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2097,16 +2099,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjImplementationEnumAttrGetter&gt;(state, thisValue, &quot;implementationEnumAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjImplementationEnumAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjImplementationEnumAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.implementationEnumAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.implementationEnumAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjXMLObjAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjXMLObjAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjXMLObjAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2113,16 +2115,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjXMLObjAttrGetter&gt;(state, thisValue, &quot;XMLObjAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjXMLObjAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjXMLObjAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.xmlObjAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.xmlObjAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCreateGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjCreateGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjCreate(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2129,16 +2131,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjCreateGetter&gt;(state, thisValue, &quot;create&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCreateGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjCreateGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsBoolean(impl.isCreate());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedStringAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2145,16 +2147,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedStringAttrGetter&gt;(state, thisValue, &quot;reflectedStringAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::reflectedstringattrAttr));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::reflectedstringattrAttr));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedUSVStringAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedUSVStringAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedUSVStringAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2161,16 +2163,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedUSVStringAttrGetter&gt;(state, thisValue, &quot;reflectedUSVStringAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedUSVStringAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedUSVStringAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::reflectedusvstringattrAttr));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::reflectedusvstringattrAttr));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedIntegralAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedIntegralAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedIntegralAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2177,16 +2179,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedIntegralAttrGetter&gt;(state, thisValue, &quot;reflectedIntegralAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedIntegralAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedIntegralAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.getIntegralAttribute(WebCore::HTMLNames::reflectedintegralattrAttr));
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedUnsignedIntegralAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedUnsignedIntegralAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedUnsignedIntegralAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2193,16 +2195,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedUnsignedIntegralAttrGetter&gt;(state, thisValue, &quot;reflectedUnsignedIntegralAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedUnsignedIntegralAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedUnsignedIntegralAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(std::max(0, impl.getIntegralAttribute(WebCore::HTMLNames::reflectedunsignedintegralattrAttr)));
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedBooleanAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedBooleanAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedBooleanAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2209,16 +2211,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedBooleanAttrGetter&gt;(state, thisValue, &quot;reflectedBooleanAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedBooleanAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedBooleanAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsBoolean(impl.hasAttributeWithoutSynchronization(WebCore::HTMLNames::reflectedbooleanattrAttr));
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedURLAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedURLAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedURLAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2225,16 +2227,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedURLAttrGetter&gt;(state, thisValue, &quot;reflectedURLAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedURLAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedURLAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.getURLAttribute(WebCore::HTMLNames::reflectedurlattrAttr));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.getURLAttribute(WebCore::HTMLNames::reflectedurlattrAttr));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedUSVURLAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedUSVURLAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedUSVURLAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2241,16 +2243,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedUSVURLAttrGetter&gt;(state, thisValue, &quot;reflectedUSVURLAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedUSVURLAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedUSVURLAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.getURLAttribute(WebCore::HTMLNames::reflectedusvurlattrAttr));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.getURLAttribute(WebCore::HTMLNames::reflectedusvurlattrAttr));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedStringAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2257,16 +2259,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedStringAttrGetter&gt;(state, thisValue, &quot;reflectedStringAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedStringAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::customContentStringAttrAttr));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attributeWithoutSynchronization(WebCore::HTMLNames::customContentStringAttrAttr));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedCustomIntegralAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedCustomIntegralAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedCustomIntegralAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2273,16 +2275,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedCustomIntegralAttrGetter&gt;(state, thisValue, &quot;reflectedCustomIntegralAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedCustomIntegralAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedCustomIntegralAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.getIntegralAttribute(WebCore::HTMLNames::customContentIntegralAttrAttr));
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedCustomBooleanAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedCustomBooleanAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedCustomBooleanAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2289,16 +2291,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedCustomBooleanAttrGetter&gt;(state, thisValue, &quot;reflectedCustomBooleanAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedCustomBooleanAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedCustomBooleanAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsBoolean(impl.hasAttributeWithoutSynchronization(WebCore::HTMLNames::customContentBooleanAttrAttr));
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedCustomURLAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReflectedCustomURLAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReflectedCustomURLAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2305,17 +2307,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReflectedCustomURLAttrGetter&gt;(state, thisValue, &quot;reflectedCustomURLAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReflectedCustomURLAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReflectedCustomURLAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TEST_FEATURE)
</span><del>-static inline JSValue jsTestObjEnabledAtRuntimeAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjEnabledAtRuntimeAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjEnabledAtRuntimeAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2322,18 +2324,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjEnabledAtRuntimeAttributeGetter&gt;(state, thisValue, &quot;enabledAtRuntimeAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjEnabledAtRuntimeAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjEnabledAtRuntimeAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.enabledAtRuntimeAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.enabledAtRuntimeAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTypedArrayAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjTypedArrayAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjTypedArrayAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2340,16 +2342,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjTypedArrayAttrGetter&gt;(state, thisValue, &quot;typedArrayAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTypedArrayAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjTypedArrayAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.typedArrayAttr());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.typedArrayAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithGetterExceptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAttributeWithGetterExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttributeWithGetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2356,16 +2358,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithGetterExceptionGetter&gt;(state, thisValue, &quot;attributeWithGetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithGetterExceptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAttributeWithGetterExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJSNumber(*state, throwScope, impl.attributeWithGetterException());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJSNumber(state, throwScope, impl.attributeWithGetterException());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithGetterLegacyExceptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAttributeWithGetterLegacyExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttributeWithGetterLegacyException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2372,18 +2374,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithGetterLegacyExceptionGetter&gt;(state, thisValue, &quot;attributeWithGetterLegacyException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithGetterLegacyExceptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAttributeWithGetterLegacyExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.attributeWithGetterLegacyException(ec));
</span><del>-    setDOMException(state, throwScope, ec);
</del><ins>+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithSetterExceptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAttributeWithSetterExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttributeWithSetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2390,16 +2392,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithSetterExceptionGetter&gt;(state, thisValue, &quot;attributeWithSetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithSetterExceptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAttributeWithSetterExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.attributeWithSetterException());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithSetterLegacyExceptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAttributeWithSetterLegacyExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttributeWithSetterLegacyException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2406,16 +2408,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithSetterLegacyExceptionGetter&gt;(state, thisValue, &quot;attributeWithSetterLegacyException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithSetterLegacyExceptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAttributeWithSetterLegacyExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.attributeWithSetterLegacyException());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrWithGetterExceptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjStringAttrWithGetterExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStringAttrWithGetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2422,18 +2424,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjStringAttrWithGetterExceptionGetter&gt;(state, thisValue, &quot;stringAttrWithGetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrWithGetterExceptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjStringAttrWithGetterExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringAttrWithGetterException(ec));
-    setDOMException(state, throwScope, ec);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringAttrWithGetterException(ec));
+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrWithSetterExceptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjStringAttrWithSetterExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStringAttrWithSetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2440,16 +2442,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjStringAttrWithSetterExceptionGetter&gt;(state, thisValue, &quot;stringAttrWithSetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringAttrWithSetterExceptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjStringAttrWithSetterExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringAttrWithSetterException());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringAttrWithSetterException());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCustomAttrGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjCustomAttrGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjCustomAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2456,14 +2458,14 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjCustomAttrGetter&gt;(state, thisValue, &quot;customAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCustomAttrGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjCustomAttrGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return thisObject-&gt;customAttr(*state);
</del><ins>+    return thisObject.customAttr(state);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjOnfooGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjOnfooGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjOnfoo(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2470,14 +2472,14 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjOnfooGetter&gt;(state, thisValue, &quot;onfoo&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjOnfooGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjOnfooGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return eventHandlerAttribute(thisObject-&gt;wrapped(), eventNames().fooEvent);
</del><ins>+    return eventHandlerAttribute(thisObject.wrapped(), eventNames().fooEvent);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjOnwebkitfooGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjOnwebkitfooGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjOnwebkitfoo(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2484,14 +2486,14 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjOnwebkitfooGetter&gt;(state, thisValue, &quot;onwebkitfoo&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjOnwebkitfooGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjOnwebkitfooGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return eventHandlerAttribute(thisObject-&gt;wrapped(), eventNames().fooEvent);
</del><ins>+    return eventHandlerAttribute(thisObject.wrapped(), eventNames().fooEvent);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptStateAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptStateAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptStateAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2498,16 +2500,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptStateAttributeGetter&gt;(state, thisValue, &quot;withScriptStateAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptStateAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptStateAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsNumber(impl.withScriptStateAttribute(*state));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsNumber(impl.withScriptStateAttribute(state));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithCallWithAndSetterCallWithAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithCallWithAndSetterCallWithAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithCallWithAndSetterCallWithAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2514,16 +2516,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithCallWithAndSetterCallWithAttributeGetter&gt;(state, thisValue, &quot;withCallWithAndSetterCallWithAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithCallWithAndSetterCallWithAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithCallWithAndSetterCallWithAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsNumber(impl.withCallWithAndSetterCallWithAttribute(*state));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsNumber(impl.withCallWithAndSetterCallWithAttribute(state));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptExecutionContextAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2530,19 +2532,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptExecutionContextAttributeGetter&gt;(state, thisValue, &quot;withScriptExecutionContextAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</del><ins>+    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</ins><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptExecutionContextAttribute(*context));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptExecutionContextAttribute(*context));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptStateAttributeRaisesGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptStateAttributeRaisesGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptStateAttributeRaises(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2549,18 +2551,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptStateAttributeRaisesGetter&gt;(state, thisValue, &quot;withScriptStateAttributeRaises&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptStateAttributeRaisesGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptStateAttributeRaisesGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptStateAttributeRaises(*state, ec));
-    setDOMException(state, throwScope, ec);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptStateAttributeRaises(state, ec));
+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAttributeRaisesGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAttributeRaisesGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptExecutionContextAttributeRaises(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2567,21 +2569,21 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptExecutionContextAttributeRaisesGetter&gt;(state, thisValue, &quot;withScriptExecutionContextAttributeRaises&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAttributeRaisesGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAttributeRaisesGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</del><ins>+    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</ins><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptExecutionContextAttributeRaises(*context, ec));
-    setDOMException(state, throwScope, ec);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptExecutionContextAttributeRaises(*context, ec));
+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2588,19 +2590,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptExecutionContextAndScriptStateAttributeGetter&gt;(state, thisValue, &quot;withScriptExecutionContextAndScriptStateAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</del><ins>+    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</ins><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptExecutionContextAndScriptStateAttribute(*state, *context));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptExecutionContextAndScriptStateAttribute(state, *context));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaisesGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaisesGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2607,21 +2609,21 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaisesGetter&gt;(state, thisValue, &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaisesGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaisesGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</del><ins>+    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</ins><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptExecutionContextAndScriptStateAttributeRaises(*state, *context, ec));
-    setDOMException(state, throwScope, ec);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptExecutionContextAndScriptStateAttributeRaises(state, *context, ec));
+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2628,19 +2630,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttributeGetter&gt;(state, thisValue, &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</del><ins>+    auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</ins><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptExecutionContextAndScriptStateWithSpacesAttribute(*state, *context));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptExecutionContextAndScriptStateWithSpacesAttribute(state, *context));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptArgumentsAndCallStackAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjWithScriptArgumentsAndCallStackAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjWithScriptArgumentsAndCallStackAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2647,17 +2649,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjWithScriptArgumentsAndCallStackAttributeGetter&gt;(state, thisValue, &quot;withScriptArgumentsAndCallStackAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjWithScriptArgumentsAndCallStackAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjWithScriptArgumentsAndCallStackAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.withScriptArgumentsAndCallStackAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.withScriptArgumentsAndCallStackAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-static inline JSValue jsTestObjConditionalAttr1Getter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConditionalAttr1Getter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConditionalAttr1(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2664,11 +2666,11 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConditionalAttr1Getter&gt;(state, thisValue, &quot;conditionalAttr1&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConditionalAttr1Getter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConditionalAttr1Getter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.conditionalAttr1());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -2676,7 +2678,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-static inline JSValue jsTestObjConditionalAttr2Getter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConditionalAttr2Getter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConditionalAttr2(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2683,11 +2685,11 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConditionalAttr2Getter&gt;(state, thisValue, &quot;conditionalAttr2&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConditionalAttr2Getter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConditionalAttr2Getter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.conditionalAttr2());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -2695,7 +2697,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-static inline JSValue jsTestObjConditionalAttr3Getter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConditionalAttr3Getter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConditionalAttr3(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2702,11 +2704,11 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConditionalAttr3Getter&gt;(state, thisValue, &quot;conditionalAttr3&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConditionalAttr3Getter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConditionalAttr3Getter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.conditionalAttr3());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -2714,7 +2716,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-static inline JSValue jsTestObjConditionalAttr4ConstructorGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConditionalAttr4ConstructorGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConditionalAttr4Constructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2721,17 +2723,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConditionalAttr4ConstructorGetter&gt;(state, thisValue, &quot;conditionalAttr4&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConditionalAttr4ConstructorGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConditionalAttr4ConstructorGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return JSTestObjectA::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());
</del><ins>+    return JSTestObjectA::getConstructor(state.vm(), thisObject.globalObject());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-static inline JSValue jsTestObjConditionalAttr5ConstructorGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConditionalAttr5ConstructorGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConditionalAttr5Constructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2738,17 +2740,17 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConditionalAttr5ConstructorGetter&gt;(state, thisValue, &quot;conditionalAttr5&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConditionalAttr5ConstructorGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConditionalAttr5ConstructorGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return JSTestObjectB::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());
</del><ins>+    return JSTestObjectB::getConstructor(state.vm(), thisObject.globalObject());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-static inline JSValue jsTestObjConditionalAttr6ConstructorGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjConditionalAttr6ConstructorGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjConditionalAttr6Constructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2755,16 +2757,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjConditionalAttr6ConstructorGetter&gt;(state, thisValue, &quot;conditionalAttr6&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjConditionalAttr6ConstructorGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjConditionalAttr6ConstructorGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return JSTestObjectC::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());
</del><ins>+    return JSTestObjectC::getConstructor(state.vm(), thisObject.globalObject());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCachedAttribute1Getter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjCachedAttribute1Getter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjCachedAttribute1(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2771,19 +2773,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjCachedAttribute1Getter&gt;(state, thisValue, &quot;cachedAttribute1&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCachedAttribute1Getter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjCachedAttribute1Getter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    if (JSValue cachedValue = thisObject-&gt;m_cachedAttribute1.get())
</del><ins>+    if (JSValue cachedValue = thisObject.m_cachedAttribute1.get())
</ins><span class="cx">         return cachedValue;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = impl.cachedAttribute1();
</span><del>-    thisObject-&gt;m_cachedAttribute1.set(state-&gt;vm(), thisObject, result);
</del><ins>+    thisObject.m_cachedAttribute1.set(state.vm(), &amp;thisObject, result);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCachedAttribute2Getter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjCachedAttribute2Getter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjCachedAttribute2(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2790,19 +2792,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjCachedAttribute2Getter&gt;(state, thisValue, &quot;cachedAttribute2&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjCachedAttribute2Getter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjCachedAttribute2Getter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    if (JSValue cachedValue = thisObject-&gt;m_cachedAttribute2.get())
</del><ins>+    if (JSValue cachedValue = thisObject.m_cachedAttribute2.get())
</ins><span class="cx">         return cachedValue;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = impl.cachedAttribute2();
</span><del>-    thisObject-&gt;m_cachedAttribute2.set(state-&gt;vm(), thisObject, result);
</del><ins>+    thisObject.m_cachedAttribute2.set(state.vm(), &amp;thisObject, result);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAnyAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAnyAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAnyAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2809,16 +2811,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAnyAttributeGetter&gt;(state, thisValue, &quot;anyAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAnyAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAnyAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = impl.anyAttribute();
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjContentDocumentGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjContentDocumentGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjContentDocument(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2825,15 +2827,15 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjContentDocumentGetter&gt;(state, thisValue, &quot;contentDocument&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjContentDocumentGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjContentDocumentGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    return shouldAllowAccessToNode(state, impl.contentDocument()) ? toJS(state, thisObject-&gt;globalObject(), impl.contentDocument()) : jsNull();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    return shouldAllowAccessToNode(&amp;state, impl.contentDocument()) ? toJS(&amp;state, thisObject.globalObject(), impl.contentDocument()) : jsNull();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjMutablePointGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjMutablePointGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjMutablePoint(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2840,16 +2842,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjMutablePointGetter&gt;(state, thisValue, &quot;mutablePoint&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjMutablePointGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjMutablePointGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), SVGStaticPropertyTearOff&lt;TestObj, SVGPoint&gt;::create(impl, impl.mutablePoint(), &amp;TestObj::updateMutablePoint));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), SVGStaticPropertyTearOff&lt;TestObj, SVGPoint&gt;::create(impl, impl.mutablePoint(), &amp;TestObj::updateMutablePoint));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjImmutablePointGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjImmutablePointGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjImmutablePoint(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2856,16 +2858,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjImmutablePointGetter&gt;(state, thisValue, &quot;immutablePoint&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjImmutablePointGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjImmutablePointGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePoint()));
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePoint()));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStrawberryGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjStrawberryGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStrawberry(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2872,16 +2874,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjStrawberryGetter&gt;(state, thisValue, &quot;strawberry&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStrawberryGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjStrawberryGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.blueberry());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjDescriptionGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjDescriptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjDescription(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2888,16 +2890,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjDescriptionGetter&gt;(state, thisValue, &quot;description&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjDescriptionGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjDescriptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.description());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjIdGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjIdGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjId(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2904,16 +2906,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjIdGetter&gt;(state, thisValue, &quot;id&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjIdGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjIdGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.id());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjHashGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjHashGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjHash(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2920,16 +2922,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjHashGetter&gt;(state, thisValue, &quot;hash&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjHashGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjHashGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.hash());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.hash());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReplaceableAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjReplaceableAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjReplaceableAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2936,16 +2938,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjReplaceableAttributeGetter&gt;(state, thisValue, &quot;replaceableAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjReplaceableAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjReplaceableAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.replaceableAttribute());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableDoubleAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableDoubleAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableDoubleAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2952,16 +2954,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableDoubleAttributeGetter&gt;(state, thisValue, &quot;nullableDoubleAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableDoubleAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableDoubleAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableDoubleAttribute());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableLongAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableLongAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableLongAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2968,16 +2970,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableLongAttributeGetter&gt;(state, thisValue, &quot;nullableLongAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableLongAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableLongAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableLongAttribute());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableBooleanAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableBooleanAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableBooleanAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -2984,16 +2986,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableBooleanAttributeGetter&gt;(state, thisValue, &quot;nullableBooleanAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableBooleanAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableBooleanAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsBoolean(impl.nullableBooleanAttribute());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableStringAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableStringAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableStringAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3000,16 +3002,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableStringAttributeGetter&gt;(state, thisValue, &quot;nullableStringAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableStringAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableStringAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringOrNull(state, impl.nullableStringAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringOrNull(&amp;state, impl.nullableStringAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableLongSettableAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableLongSettableAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableLongSettableAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3016,16 +3018,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableLongSettableAttributeGetter&gt;(state, thisValue, &quot;nullableLongSettableAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableLongSettableAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableLongSettableAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableLongSettableAttribute());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableStringSettableAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableStringSettableAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableStringSettableAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3032,16 +3034,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableStringSettableAttributeGetter&gt;(state, thisValue, &quot;nullableStringSettableAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableStringSettableAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableStringSettableAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringOrNull(state, impl.nullableStringSettableAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringOrNull(&amp;state, impl.nullableStringSettableAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableUSVStringSettableAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableUSVStringSettableAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableUSVStringSettableAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3048,16 +3050,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableUSVStringSettableAttributeGetter&gt;(state, thisValue, &quot;nullableUSVStringSettableAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableUSVStringSettableAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableUSVStringSettableAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringOrNull(state, impl.nullableUSVStringSettableAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringOrNull(&amp;state, impl.nullableUSVStringSettableAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableStringValueGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjNullableStringValueGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjNullableStringValue(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3064,18 +3066,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjNullableStringValueGetter&gt;(state, thisValue, &quot;nullableStringValue&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjNullableStringValueGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjNullableStringValueGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = toNullableJSNumber(impl.nullableStringValue(ec));
</span><del>-    setDOMException(state, throwScope, ec);
</del><ins>+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3082,16 +3084,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeGetter&gt;(state, thisValue, &quot;attribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithReservedEnumTypeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjAttributeWithReservedEnumTypeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttributeWithReservedEnumType(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3098,16 +3100,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithReservedEnumTypeGetter&gt;(state, thisValue, &quot;attributeWithReservedEnumType&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithReservedEnumTypeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjAttributeWithReservedEnumTypeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.attributeWithReservedEnumType());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.attributeWithReservedEnumType());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestReadOnlyPromiseAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjTestReadOnlyPromiseAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjTestReadOnlyPromiseAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3114,16 +3116,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjTestReadOnlyPromiseAttributeGetter, CastedThisErrorBehavior::RejectPromise&gt;(state, thisValue, &quot;testReadOnlyPromiseAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjTestReadOnlyPromiseAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjTestReadOnlyPromiseAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.testReadOnlyPromiseAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.testReadOnlyPromiseAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjPutForwardsAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjPutForwardsAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjPutForwardsAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3130,16 +3132,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjPutForwardsAttributeGetter&gt;(state, thisValue, &quot;putForwardsAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjPutForwardsAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjPutForwardsAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.putForwardsAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.putForwardsAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjPutForwardsNullableAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjPutForwardsNullableAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjPutForwardsNullableAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3146,16 +3148,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjPutForwardsNullableAttributeGetter&gt;(state, thisValue, &quot;putForwardsNullableAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjPutForwardsNullableAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjPutForwardsNullableAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = toJS(state, thisObject-&gt;globalObject(), impl.putForwardsNullableAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = toJS(&amp;state, thisObject.globalObject(), impl.putForwardsNullableAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringifierAttributeGetter(ExecState*, JSTestObj*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestObjStringifierAttributeGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStringifierAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -3162,12 +3164,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjStringifierAttributeGetter&gt;(state, thisValue, &quot;stringifierAttribute&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjStringifierAttributeGetter(ExecState* state, JSTestObj* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestObjStringifierAttributeGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringifierAttribute());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringifierAttribute());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestSerializedScriptValueInterface*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceValueGetter(ExecState*, JSTestSerializedScriptValueInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceValueGetter(ExecState&amp;, JSTestSerializedScriptValueInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestSerializedScriptValueInterfaceValue(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -144,16 +144,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestSerializedScriptValueInterface&gt;::attribute&lt;jsTestSerializedScriptValueInterfaceValueGetter&gt;(state, thisValue, &quot;value&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceValueGetter(ExecState* state, JSTestSerializedScriptValueInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceValueGetter(ExecState&amp; state, JSTestSerializedScriptValueInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = impl.value() ? impl.value()-&gt;deserialize(state, thisObject-&gt;globalObject(), 0) : jsNull();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = impl.value() ? impl.value()-&gt;deserialize(&amp;state, thisObject.globalObject(), 0) : jsNull();
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceReadonlyValueGetter(ExecState*, JSTestSerializedScriptValueInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceReadonlyValueGetter(ExecState&amp;, JSTestSerializedScriptValueInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestSerializedScriptValueInterfaceReadonlyValue(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -160,16 +160,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestSerializedScriptValueInterface&gt;::attribute&lt;jsTestSerializedScriptValueInterfaceReadonlyValueGetter&gt;(state, thisValue, &quot;readonlyValue&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceReadonlyValueGetter(ExecState* state, JSTestSerializedScriptValueInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceReadonlyValueGetter(ExecState&amp; state, JSTestSerializedScriptValueInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = impl.readonlyValue() ? impl.readonlyValue()-&gt;deserialize(state, thisObject-&gt;globalObject(), 0) : jsNull();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = impl.readonlyValue() ? impl.readonlyValue()-&gt;deserialize(&amp;state, thisObject.globalObject(), 0) : jsNull();
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceCachedValueGetter(ExecState*, JSTestSerializedScriptValueInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceCachedValueGetter(ExecState&amp;, JSTestSerializedScriptValueInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestSerializedScriptValueInterfaceCachedValue(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -176,19 +176,19 @@
</span><span class="cx">     return BindingCaller&lt;JSTestSerializedScriptValueInterface&gt;::attribute&lt;jsTestSerializedScriptValueInterfaceCachedValueGetter&gt;(state, thisValue, &quot;cachedValue&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceCachedValueGetter(ExecState* state, JSTestSerializedScriptValueInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceCachedValueGetter(ExecState&amp; state, JSTestSerializedScriptValueInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    if (JSValue cachedValue = thisObject-&gt;m_cachedValue.get())
</del><ins>+    if (JSValue cachedValue = thisObject.m_cachedValue.get())
</ins><span class="cx">         return cachedValue;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = impl.cachedValue() ? impl.cachedValue()-&gt;deserialize(state, thisObject-&gt;globalObject(), 0) : jsNull();
-    thisObject-&gt;m_cachedValue.set(state-&gt;vm(), thisObject, result);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = impl.cachedValue() ? impl.cachedValue()-&gt;deserialize(&amp;state, thisObject.globalObject(), 0) : jsNull();
+    thisObject.m_cachedValue.set(state.vm(), &amp;thisObject, result);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfacePortsGetter(ExecState*, JSTestSerializedScriptValueInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfacePortsGetter(ExecState&amp;, JSTestSerializedScriptValueInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestSerializedScriptValueInterfacePorts(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -195,16 +195,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestSerializedScriptValueInterface&gt;::attribute&lt;jsTestSerializedScriptValueInterfacePortsGetter&gt;(state, thisValue, &quot;ports&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfacePortsGetter(ExecState* state, JSTestSerializedScriptValueInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfacePortsGetter(ExecState&amp; state, JSTestSerializedScriptValueInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsArray(state, thisObject-&gt;globalObject(), impl.ports());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsArray(&amp;state, thisObject.globalObject(), impl.ports());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter(ExecState*, JSTestSerializedScriptValueInterface*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter(ExecState&amp;, JSTestSerializedScriptValueInterface&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValue(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -211,15 +211,15 @@
</span><span class="cx">     return BindingCaller&lt;JSTestSerializedScriptValueInterface&gt;::attribute&lt;jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter&gt;(state, thisValue, &quot;cachedReadonlyValue&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter(ExecState* state, JSTestSerializedScriptValueInterface* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter(ExecState&amp; state, JSTestSerializedScriptValueInterface&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    if (JSValue cachedValue = thisObject-&gt;m_cachedReadonlyValue.get())
</del><ins>+    if (JSValue cachedValue = thisObject.m_cachedReadonlyValue.get())
</ins><span class="cx">         return cachedValue;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = impl.cachedReadonlyValue() ? impl.cachedReadonlyValue()-&gt;deserialize(state, thisObject-&gt;globalObject(), 0) : jsNull();
-    thisObject-&gt;m_cachedReadonlyValue.set(state-&gt;vm(), thisObject, result);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = impl.cachedReadonlyValue() ? impl.cachedReadonlyValue()-&gt;deserialize(&amp;state, thisObject.globalObject(), 0) : jsNull();
+    thisObject.m_cachedReadonlyValue.set(state.vm(), &amp;thisObject, result);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSTestTypedefs*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsUnsignedLongLongAttrGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsUnsignedLongLongAttrGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsUnsignedLongLongAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -222,16 +222,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsUnsignedLongLongAttrGetter&gt;(state, thisValue, &quot;unsignedLongLongAttr&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsUnsignedLongLongAttrGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsUnsignedLongLongAttrGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.unsignedLongLongAttr());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsImmutableSerializedScriptValueGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsImmutableSerializedScriptValueGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsImmutableSerializedScriptValue(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -238,16 +238,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsImmutableSerializedScriptValueGetter&gt;(state, thisValue, &quot;immutableSerializedScriptValue&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsImmutableSerializedScriptValueGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsImmutableSerializedScriptValueGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = impl.immutableSerializedScriptValue() ? impl.immutableSerializedScriptValue()-&gt;deserialize(state, thisObject-&gt;globalObject(), 0) : jsNull();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = impl.immutableSerializedScriptValue() ? impl.immutableSerializedScriptValue()-&gt;deserialize(&amp;state, thisObject.globalObject(), 0) : jsNull();
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsConstructorTestSubObjGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsConstructorTestSubObjGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsConstructorTestSubObj(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -254,14 +254,14 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsConstructorTestSubObjGetter&gt;(state, thisValue, &quot;TestSubObj&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsConstructorTestSubObjGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsConstructorTestSubObjGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    return JSTestSubObj::getConstructor(state-&gt;vm(), thisObject-&gt;globalObject());
</del><ins>+    return JSTestSubObj::getConstructor(state.vm(), thisObject.globalObject());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsAttrWithGetterExceptionGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsAttrWithGetterExceptionGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsAttrWithGetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -268,18 +268,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsAttrWithGetterExceptionGetter&gt;(state, thisValue, &quot;attrWithGetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsAttrWithGetterExceptionGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsAttrWithGetterExceptionGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.attrWithGetterException(ec));
</span><del>-    setDOMException(state, throwScope, ec);
</del><ins>+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsAttrWithSetterExceptionGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsAttrWithSetterExceptionGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsAttrWithSetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -286,16 +286,16 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsAttrWithSetterExceptionGetter&gt;(state, thisValue, &quot;attrWithSetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsAttrWithSetterExceptionGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsAttrWithSetterExceptionGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
</del><ins>+    auto&amp; impl = thisObject.wrapped();
</ins><span class="cx">     JSValue result = jsNumber(impl.attrWithSetterException());
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsStringAttrWithGetterExceptionGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsStringAttrWithGetterExceptionGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsStringAttrWithGetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -302,18 +302,18 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsStringAttrWithGetterExceptionGetter&gt;(state, thisValue, &quot;stringAttrWithGetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsStringAttrWithGetterExceptionGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsStringAttrWithGetterExceptionGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringAttrWithGetterException(ec));
-    setDOMException(state, throwScope, ec);
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringAttrWithGetterException(ec));
+    setDOMException(&amp;state, throwScope, ec);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsStringAttrWithSetterExceptionGetter(ExecState*, JSTestTypedefs*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsTestTypedefsStringAttrWithSetterExceptionGetter(ExecState&amp;, JSTestTypedefs&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestTypedefsStringAttrWithSetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -320,12 +320,12 @@
</span><span class="cx">     return BindingCaller&lt;JSTestTypedefs&gt;::attribute&lt;jsTestTypedefsStringAttrWithSetterExceptionGetter&gt;(state, thisValue, &quot;stringAttrWithSetterException&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestTypedefsStringAttrWithSetterExceptionGetter(ExecState* state, JSTestTypedefs* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsTestTypedefsStringAttrWithSetterExceptionGetter(ExecState&amp; state, JSTestTypedefs&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.stringAttrWithSetterException());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.stringAttrWithSetterException());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (206991 => 206992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2016-10-10 08:33:17 UTC (rev 206991)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2016-10-10 09:03:09 UTC (rev 206992)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     return jsDynamicCast&lt;JSattribute*&gt;(JSValue::decode(thisValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsattributeReadonlyGetter(ExecState*, JSattribute*, ThrowScope&amp; throwScope);
</del><ins>+static inline JSValue jsattributeReadonlyGetter(ExecState&amp;, JSattribute&amp;, ThrowScope&amp; throwScope);
</ins><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsattributeReadonly(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="cx"> {
</span><span class="lines">@@ -144,12 +144,12 @@
</span><span class="cx">     return BindingCaller&lt;JSattribute&gt;::attribute&lt;jsattributeReadonlyGetter&gt;(state, thisValue, &quot;readonly&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsattributeReadonlyGetter(ExecState* state, JSattribute* thisObject, ThrowScope&amp; throwScope)
</del><ins>+static inline JSValue jsattributeReadonlyGetter(ExecState&amp; state, JSattribute&amp; thisObject, ThrowScope&amp; throwScope)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    auto&amp; impl = thisObject-&gt;wrapped();
-    JSValue result = jsStringWithCache(state, impl.readonly());
</del><ins>+    auto&amp; impl = thisObject.wrapped();
+    JSValue result = jsStringWithCache(&amp;state, impl.readonly());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>