<!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>[206338] 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/206338">206338</a></dd>
<dt>Author</dt> <dd>utatane.tea@gmail.com</dd>
<dt>Date</dt> <dd>2016-09-23 16:57:26 -0700 (Fri, 23 Sep 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Binding] Use unchekcedArgument if argumentCount is already checked
https://bugs.webkit.org/show_bug.cgi?id=162502
Reviewed by Geoffrey Garen.
It is not necessary to use `exec->argument(n)` after checking the argument exists.
This patch changes `argument(n)` to `uncheckedArgument(n)` if we already proved that
the argument exists. This change drops branches generated by `exec->argument(n)`.
And it is good for small DOM operations in which DOM binding code occupies large
part of entire processing. This patch and another small patch[1] offer roughly 5%
improvement in Dromaeo dom-attr's getAttribute and setAttribute tests.
[1]: https://bugs.webkit.org/show_bug.cgi?id=162503
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck): GenerateParameterCheck requires GenerateArgumentsCountCheck.
As a result, existence of mandatory arguments are already checked. We can use `uncheckedArgument(n)`
for mandatory arguments.
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.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="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsWithSequencecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/ChangeLog        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -1,3 +1,129 @@
</span><ins>+2016-09-23 Yusuke Suzuki <utatane.tea@gmail.com>
+
+ [Binding] Use unchekcedArgument if argumentCount is already checked
+ https://bugs.webkit.org/show_bug.cgi?id=162502
+
+ Reviewed by Geoffrey Garen.
+
+ It is not necessary to use `exec->argument(n)` after checking the argument exists.
+ This patch changes `argument(n)` to `uncheckedArgument(n)` if we already proved that
+ the argument exists. This change drops branches generated by `exec->argument(n)`.
+ And it is good for small DOM operations in which DOM binding code occupies large
+ part of entire processing. This patch and another small patch[1] offer roughly 5%
+ improvement in Dromaeo dom-attr's getAttribute and setAttribute tests.
+
+ [1]: https://bugs.webkit.org/show_bug.cgi?id=162503
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateParametersCheck): GenerateParameterCheck requires GenerateArgumentsCountCheck.
+ As a result, existence of mandatory arguments are already checked. We can use `uncheckedArgument(n)`
+ for mandatory arguments.
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
+ (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::jsTestEventTargetPrototypeFunctionItem):
+ * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+ (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
+ (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
+ (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::JSTestInterfaceConstructor::construct):
+ (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
+ (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ (WebCore::JSTestNamedConstructorNamedConstructor::construct):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObjConstructor::construct):
+ (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
+ (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
+ (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
+ (WebCore::jsTestObjPrototypeFunctionSerializedValue):
+ (WebCore::jsTestObjPrototypeFunctionOptionsObject):
+ (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
+ (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
+ (WebCore::jsTestObjPrototypeFunctionAddEventListener):
+ (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
+ (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
+ (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
+ (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
+ (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
+ (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
+ (WebCore::jsTestObjPrototypeFunctionGetElementById):
+ (WebCore::jsTestObjPrototypeFunctionConvert1):
+ (WebCore::jsTestObjPrototypeFunctionConvert2):
+ (WebCore::jsTestObjPrototypeFunctionConvert3):
+ (WebCore::jsTestObjPrototypeFunctionConvert4):
+ (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
+ (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
+ (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
+ (WebCore::jsTestObjPrototypeFunctionAny):
+ (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
+ (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
+ (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
+ (WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
+ (WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
+ (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
+ (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
+ (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+ (WebCore::constructJSTestOverloadedConstructors1):
+ (WebCore::constructJSTestOverloadedConstructors2):
+ (WebCore::constructJSTestOverloadedConstructors3):
+ (WebCore::constructJSTestOverloadedConstructors4):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
+ (WebCore::constructJSTestOverloadedConstructorsWithSequence2):
+ * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+ (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore::JSTestTypedefsConstructor::construct):
+ (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
+ (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
+ (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
+ (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
+ (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
+ (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
+ (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
+
</ins><span class="cx"> 2016-09-23 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><span class="cx"> Refactor URLParser
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -3987,10 +3987,11 @@
</span><span class="cx"> }
</span><span class="cx"> push(@$outputArray, " }\n");
</span><span class="cx"> } else {
</span><ins>+ die "CallbackInterface does not support Variadic parameter" if $parameter->isVariadic;
</ins><span class="cx"> if ($codeGenerator->IsFunctionOnlyCallbackInterface($type)) {
</span><del>- push(@$outputArray, " if (UNLIKELY(!state->argument($argumentIndex).isFunction()))\n");
</del><ins>+ push(@$outputArray, " if (UNLIKELY(!state->uncheckedArgument($argumentIndex).isFunction()))\n");
</ins><span class="cx"> } else {
</span><del>- push(@$outputArray, " if (UNLIKELY(!state->argument($argumentIndex).isObject()))\n");
</del><ins>+ push(@$outputArray, " if (UNLIKELY(!state->uncheckedArgument($argumentIndex).isObject()))\n");
</ins><span class="cx"> }
</span><span class="cx"> push(@$outputArray, " return throwArgumentMustBeFunctionError(*state, throwScope, $argumentIndex, \"$name\", \"$visibleInterfaceName\", $quotedFunctionName);\n");
</span><span class="cx"> if ($function->isStatic) {
</span><span class="lines">@@ -4026,6 +4027,9 @@
</span><span class="cx"> my $defineOptionalValue = "auto optionalValue";
</span><span class="cx"> my $indent = "";
</span><span class="cx">
</span><ins>+ die "Variadic parameter is already handled here" if $parameter->isVariadic;
+ my $argumentLookupMethod = $parameter->isOptional ? "argument" : "uncheckedArgument";
+
</ins><span class="cx"> if ($parameter->isOptional && !defined($parameter->default)) {
</span><span class="cx"> $nativeType = "Optional<$className>";
</span><span class="cx"> $optionalValue = $name;
</span><span class="lines">@@ -4032,7 +4036,7 @@
</span><span class="cx"> $defineOptionalValue = $name;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- push(@$outputArray, " auto ${name}Value = state->argument($argumentIndex);\n");
</del><ins>+ push(@$outputArray, " auto ${name}Value = state->$argumentLookupMethod($argumentIndex);\n");
</ins><span class="cx"> push(@$outputArray, " $nativeType $name;\n");
</span><span class="cx">
</span><span class="cx"> if ($parameter->isOptional) {
</span><span class="lines">@@ -4061,9 +4065,12 @@
</span><span class="cx"> my $isTearOff = $codeGenerator->IsSVGTypeNeedingTearOff($type) && $interfaceName !~ /List$/;
</span><span class="cx"> my $shouldPassByReference = $isTearOff || ShouldPassWrapperByReference($parameter, $interface);
</span><span class="cx">
</span><ins>+ die "Variadic parameter is already handled here" if $parameter->isVariadic;
+ my $argumentLookupMethod = $parameter->isOptional ? "argument" : "uncheckedArgument";
+
</ins><span class="cx"> if (!$shouldPassByReference && $codeGenerator->IsWrapperType($type)) {
</span><span class="cx"> $implIncludes{"<runtime/Error.h>"} = 1;
</span><del>- my $checkedArgument = "state->argument($argumentIndex)";
</del><ins>+ my $checkedArgument = "state->$argumentLookupMethod($argumentIndex)";
</ins><span class="cx"> my $uncheckedArgument = "state->uncheckedArgument($argumentIndex)";
</span><span class="cx"> my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $parameter, $uncheckedArgument, $function->signature->extendedAttributes->{"Conditional"});
</span><span class="cx"> push(@$outputArray, " $nativeType $name = nullptr;\n");
</span><span class="lines">@@ -4098,15 +4105,15 @@
</span><span class="cx"> $defaultValue = "JSValue::JSUndefined" if $defaultValue eq "undefined";
</span><span class="cx"> }
</span><span class="cx">
</span><del>- $outer = "state->argument($argumentIndex).isUndefined() ? $defaultValue : ";
</del><ins>+ $outer = "state->$argumentLookupMethod($argumentIndex).isUndefined() ? $defaultValue : ";
</ins><span class="cx"> $inner = "state->uncheckedArgument($argumentIndex)";
</span><span class="cx"> } elsif ($parameter->isOptional && !defined($parameter->default)) {
</span><span class="cx"> # Use WTF::Optional<>() for optional parameters that are missing or undefined and that do not have a default value in the IDL.
</span><del>- $outer = "state->argument($argumentIndex).isUndefined() ? Optional<$nativeType>() : ";
</del><ins>+ $outer = "state->$argumentLookupMethod($argumentIndex).isUndefined() ? Optional<$nativeType>() : ";
</ins><span class="cx"> $inner = "state->uncheckedArgument($argumentIndex)";
</span><span class="cx"> } else {
</span><span class="cx"> $outer = "";
</span><del>- $inner = "state->argument($argumentIndex)";
</del><ins>+ $inner = "state->$argumentLookupMethod($argumentIndex)";
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $parameter, $inner, $function->signature->extendedAttributes->{"Conditional"});
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto nextChild = JSNode::toWrapped(state->argument(0));
</del><ins>+ auto nextChild = JSNode::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!nextChild))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "nextChild", "TestActiveDOMObject", "excitingFunction", "Node");
</span><span class="cx"> impl.excitingFunction(*nextChild);
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto message = state->argument(0).toWTFString(state);
</del><ins>+ auto message = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.postMessage(WTFMove(message));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto str = state->argument(0).toWTFString(state);
</del><ins>+ auto str = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.anotherFunction(WTFMove(str));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto index = convert<uint32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto index = convert<uint32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.item(WTFMove(index)));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -375,7 +375,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto testParam = state->argument(0).toWTFString(state);
</del><ins>+ auto testParam = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.regularOperation(WTFMove(testParam));
</span><span class="lines">@@ -396,7 +396,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto testParam = state->argument(0).toWTFString(state);
</del><ins>+ auto testParam = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.enabledAtRuntimeOperation(WTFMove(testParam));
</span><span class="lines">@@ -419,7 +419,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto testParam = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto testParam = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.enabledAtRuntimeOperation(WTFMove(testParam));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto str1 = state->argument(0).toWTFString(state);
</del><ins>+ auto str1 = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto str2 = state->argument(1).isUndefined() ? ASCIILiteral("defaultString") : state->uncheckedArgument(1).toWTFString(state);
</span><span class="lines">@@ -859,10 +859,10 @@
</span><span class="cx"> auto* context = jsCast<JSDOMGlobalObject*>(state->lexicalGlobalObject())->scriptExecutionContext();
</span><span class="cx"> if (!context)
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(0).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(1));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(1));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 1, "objArg", "TestInterface", "implementsMethod2", "TestObj");
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.implementsMethod2(*context, WTFMove(strArg), *objArg, ec));
</span><span class="lines">@@ -937,10 +937,10 @@
</span><span class="cx"> auto* context = jsCast<JSDOMGlobalObject*>(state->lexicalGlobalObject())->scriptExecutionContext();
</span><span class="cx"> if (!context)
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(0).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(1));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(1));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 1, "objArg", "TestInterface", "supplementalMethod2", "TestObj");
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), WebCore::TestSupplemental::supplementalMethod2(impl, *context, WTFMove(strArg), *objArg, ec));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- if (UNLIKELY(!state->argument(0).isFunction()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(0).isFunction()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 0, "listener", "TestMediaQueryListListener", "method");
</span><span class="cx"> auto listener = JSMediaQueryListListener::create(asObject(state->uncheckedArgument(0)), castedThis->globalObject());
</span><span class="cx"> impl.method(WTFMove(listener));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto str1 = state->argument(0).toWTFString(state);
</del><ins>+ auto str1 = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto str2 = state->argument(1).isUndefined() ? ASCIILiteral("defaultString") : state->uncheckedArgument(1).toWTFString(state);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -1137,10 +1137,10 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- if (UNLIKELY(!state->argument(0).isObject()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(0).isObject()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 0, "testCallback", "TestObject", nullptr);
</span><span class="cx"> auto testCallback = JSTestCallback::create(asObject(state->uncheckedArgument(0)), castedThis->globalObject());
</span><del>- if (UNLIKELY(!state->argument(1).isFunction()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(1).isFunction()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 1, "testCallbackFunction", "TestObject", nullptr);
</span><span class="cx"> auto testCallbackFunction = JSTestCallbackFunction::create(asObject(state->uncheckedArgument(1)), castedThis->globalObject());
</span><span class="cx"> ScriptExecutionContext* context = castedThis->scriptExecutionContext();
</span><span class="lines">@@ -4621,7 +4621,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto testParam = state->argument(0).toWTFString(state);
</del><ins>+ auto testParam = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.enabledAtRuntimeOperation(WTFMove(testParam));
</span><span class="lines">@@ -4644,7 +4644,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto testParam = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto testParam = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.enabledAtRuntimeOperation(WTFMove(testParam));
</span><span class="lines">@@ -4702,13 +4702,13 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 3))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto longArg = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto longArg = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(1).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(1).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(2));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(2));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 2, "objArg", "TestObject", "voidMethodWithArgs", "TestObj");
</span><span class="cx"> impl.voidMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg);
</span><span class="lines">@@ -4743,13 +4743,13 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 3))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto byteArg = convert<int8_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto byteArg = convert<int8_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(1).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(1).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(2));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(2));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 2, "objArg", "TestObject", "byteMethodWithArgs", "TestObj");
</span><span class="cx"> JSValue result = jsNumber(impl.byteMethodWithArgs(WTFMove(byteArg), WTFMove(strArg), *objArg));
</span><span class="lines">@@ -4784,13 +4784,13 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 3))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto octetArg = convert<uint8_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto octetArg = convert<uint8_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(1).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(1).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(2));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(2));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 2, "objArg", "TestObject", "octetMethodWithArgs", "TestObj");
</span><span class="cx"> JSValue result = jsNumber(impl.octetMethodWithArgs(WTFMove(octetArg), WTFMove(strArg), *objArg));
</span><span class="lines">@@ -4825,13 +4825,13 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 3))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto longArg = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto longArg = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(1).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(1).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(2));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(2));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 2, "objArg", "TestObject", "longMethodWithArgs", "TestObj");
</span><span class="cx"> JSValue result = jsNumber(impl.longMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg));
</span><span class="lines">@@ -4866,13 +4866,13 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 3))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto longArg = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto longArg = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto strArg = state->argument(1).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(1).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(2));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(2));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 2, "objArg", "TestObject", "objMethodWithArgs", "TestObj");
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.objMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg));
</span><span class="lines">@@ -4907,7 +4907,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arg = valueToStringTreatingNullAsEmptyString(state, state->argument(0));
</del><ins>+ auto arg = valueToStringTreatingNullAsEmptyString(state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.methodWithArgTreatingNullAsEmptyString(WTFMove(arg));
</span><span class="lines">@@ -4927,7 +4927,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto resolver = JSXPathNSResolver::toWrapped(*state, state->argument(0));
</del><ins>+ auto resolver = JSXPathNSResolver::toWrapped(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> if (UNLIKELY(!resolver))
</span><span class="lines">@@ -4973,7 +4973,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto index = convert<uint32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto index = convert<uint32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsStringOrNull(state, impl.nullableStringSpecialMethod(WTFMove(index)));
</span><span class="lines">@@ -4993,7 +4993,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto enumArgValue = state->argument(0);
</del><ins>+ auto enumArgValue = state->uncheckedArgument(0);
</ins><span class="cx"> TestObj::EnumType enumArg;
</span><span class="cx"> auto optionalValue = parse<TestObj::EnumType>(*state, enumArgValue);
</span><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="lines">@@ -5070,10 +5070,10 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto strArg = state->argument(0).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(1));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(1));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 1, "objArg", "TestObject", "methodThatRequiresAllArgsAndThrows", "TestObj");
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.methodThatRequiresAllArgsAndThrows(WTFMove(strArg), *objArg, ec));
</span><span class="lines">@@ -5095,7 +5095,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto str = valueToUSVString(state, state->argument(0));
</del><ins>+ auto str = valueToUSVString(state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.methodWithUSVStringArg(WTFMove(str));
</span><span class="lines">@@ -5115,7 +5115,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto str = valueToUSVStringWithUndefinedOrNullCheck(state, state->argument(0));
</del><ins>+ auto str = valueToUSVStringWithUndefinedOrNullCheck(state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.methodWithNullableUSVStringArg(WTFMove(str));
</span><span class="lines">@@ -5135,7 +5135,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto str = valueToUSVStringTreatingNullAsEmptyString(state, state->argument(0));
</del><ins>+ auto str = valueToUSVStringTreatingNullAsEmptyString(state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.methodWithUSVStringArgTreatingNullAsEmptyString(WTFMove(str));
</span><span class="lines">@@ -5155,7 +5155,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto serializedArg = SerializedScriptValue::create(state, state->argument(0), 0, 0);
</del><ins>+ auto serializedArg = SerializedScriptValue::create(state, state->uncheckedArgument(0), 0, 0);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.serializedValue(WTFMove(serializedArg));
</span><span class="lines">@@ -5175,7 +5175,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto oo = Dictionary(state, state->argument(0));
</del><ins>+ auto oo = Dictionary(state, state->uncheckedArgument(0));
</ins><span class="cx"> auto ooo = Dictionary(state, state->argument(1));
</span><span class="cx"> impl.optionsObject(WTFMove(oo), WTFMove(ooo));
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -5254,7 +5254,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto argument = state->argument(0).toWTFString(state);
</del><ins>+ auto argument = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsStringWithCache(state, impl.privateMethod(WTFMove(argument)));
</span><span class="lines">@@ -5274,7 +5274,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto argument = state->argument(0).toWTFString(state);
</del><ins>+ auto argument = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsStringWithCache(state, impl.publicAndPrivateMethod(WTFMove(argument)));
</span><span class="lines">@@ -5294,10 +5294,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto type = state->argument(0).toWTFString(state);
</del><ins>+ auto type = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto listener = JSEventListener::create(state->argument(1), *castedThis, false, currentWorld(state));
</del><ins>+ auto listener = JSEventListener::create(state->uncheckedArgument(1), *castedThis, false, currentWorld(state));
</ins><span class="cx"> if (UNLIKELY(!listener))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 1, "listener", "TestObject", "addEventListener", "EventListener");
</span><span class="cx"> auto useCapture = state->argument(2).toBoolean(state);
</span><span class="lines">@@ -5320,10 +5320,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto type = state->argument(0).toWTFString(state);
</del><ins>+ auto type = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto listener = JSEventListener::create(state->argument(1), *castedThis, false, currentWorld(state));
</del><ins>+ auto listener = JSEventListener::create(state->uncheckedArgument(1), *castedThis, false, currentWorld(state));
</ins><span class="cx"> if (UNLIKELY(!listener))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 1, "listener", "TestObject", "removeEventListener", "EventListener");
</span><span class="cx"> auto useCapture = state->argument(2).toBoolean(state);
</span><span class="lines">@@ -5599,7 +5599,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto nonOpt = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto nonOpt = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto opt = state->argument(1).isUndefined() ? Optional<int32_t>() : convert<int32_t>(*state, state->uncheckedArgument(1), NormalConversion);
</span><span class="lines">@@ -5622,7 +5622,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto nonOpt = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto nonOpt = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto opt1 = state->argument(1).isUndefined() ? Optional<int32_t>() : convert<int32_t>(*state, state->uncheckedArgument(1), NormalConversion);
</span><span class="lines">@@ -6107,7 +6107,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- if (UNLIKELY(!state->argument(0).isObject()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(0).isObject()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 0, "callback", "TestObject", "methodWithCallbackArg");
</span><span class="cx"> auto callback = JSTestCallback::create(asObject(state->uncheckedArgument(0)), castedThis->globalObject());
</span><span class="cx"> impl.methodWithCallbackArg(WTFMove(callback));
</span><span class="lines">@@ -6127,10 +6127,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto nonCallback = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto nonCallback = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- if (UNLIKELY(!state->argument(1).isObject()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(1).isObject()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 1, "callback", "TestObject", "methodWithNonCallbackArgAndCallbackArg");
</span><span class="cx"> auto callback = JSTestCallback::create(asObject(state->uncheckedArgument(1)), castedThis->globalObject());
</span><span class="cx"> impl.methodWithNonCallbackArgAndCallbackArg(WTFMove(nonCallback), WTFMove(callback));
</span><span class="lines">@@ -6171,7 +6171,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- if (UNLIKELY(!state->argument(0).isFunction()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(0).isFunction()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 0, "callback", "TestObject", "methodWithCallbackFunctionArg");
</span><span class="cx"> auto callback = JSTestCallbackFunction::create(asObject(state->uncheckedArgument(0)), castedThis->globalObject());
</span><span class="cx"> impl.methodWithCallbackFunctionArg(WTFMove(callback));
</span><span class="lines">@@ -6191,10 +6191,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto nonCallback = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto nonCallback = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- if (UNLIKELY(!state->argument(1).isFunction()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(1).isFunction()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 1, "callback", "TestObject", "methodWithNonCallbackArgAndCallbackFunctionArg");
</span><span class="cx"> auto callback = JSTestCallbackFunction::create(asObject(state->uncheckedArgument(1)), castedThis->globalObject());
</span><span class="cx"> impl.methodWithNonCallbackArgAndCallbackFunctionArg(WTFMove(nonCallback), WTFMove(callback));
</span><span class="lines">@@ -6244,7 +6244,7 @@
</span><span class="cx"> UNUSED_PARAM(throwScope);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- if (UNLIKELY(!state->argument(0).isObject()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(0).isObject()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 0, "callback", "TestObject", "staticMethodWithCallbackArg");
</span><span class="cx"> auto callback = createFunctionOnlyCallback<JSTestCallback>(state, jsCast<JSDOMGlobalObject*>(state->lexicalGlobalObject()), state->uncheckedArgument(0));
</span><span class="cx"> TestObj::staticMethodWithCallbackArg(WTFMove(callback));
</span><span class="lines">@@ -6319,12 +6319,12 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> TestObj* objArg = nullptr;
</span><del>- if (!state->argument(0).isUndefinedOrNull()) {
</del><ins>+ if (!state->uncheckedArgument(0).isUndefinedOrNull()) {
</ins><span class="cx"> objArg = JSTestObj::toWrapped(state->uncheckedArgument(0));
</span><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "objArg", "TestObject", "overloadedMethod", "TestObj");
</span><span class="cx"> }
</span><del>- auto strArg = state->argument(1).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(1).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(objArg), WTFMove(strArg));
</span><span class="lines">@@ -6345,7 +6345,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> TestObj* objArg = nullptr;
</span><del>- if (!state->argument(0).isUndefinedOrNull()) {
</del><ins>+ if (!state->uncheckedArgument(0).isUndefinedOrNull()) {
</ins><span class="cx"> objArg = JSTestObj::toWrapped(state->uncheckedArgument(0));
</span><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "objArg", "TestObject", "overloadedMethod", "TestObj");
</span><span class="lines">@@ -6370,7 +6370,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto strArg = state->argument(0).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(strArg));
</span><span class="lines">@@ -6390,7 +6390,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto longArg = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto longArg = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(longArg));
</span><span class="lines">@@ -6410,7 +6410,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- if (UNLIKELY(!state->argument(0).isObject()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(0).isObject()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 0, "callback", "TestObject", "overloadedMethod");
</span><span class="cx"> auto callback = JSTestCallback::create(asObject(state->uncheckedArgument(0)), castedThis->globalObject());
</span><span class="cx"> impl.overloadedMethod(WTFMove(callback));
</span><span class="lines">@@ -6431,7 +6431,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> DOMStringList* listArg = nullptr;
</span><del>- if (!state->argument(0).isUndefinedOrNull()) {
</del><ins>+ if (!state->uncheckedArgument(0).isUndefinedOrNull()) {
</ins><span class="cx"> listArg = JSDOMStringList::toWrapped(state->uncheckedArgument(0));
</span><span class="cx"> if (UNLIKELY(!listArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "listArg", "TestObject", "overloadedMethod", "DOMStringList");
</span><span class="lines">@@ -6453,7 +6453,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arrayArg = toNativeArray<String>(*state, state->argument(0));
</del><ins>+ auto arrayArg = toNativeArray<String>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(arrayArg));
</span><span class="lines">@@ -6473,7 +6473,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto objArg = JSTestObj::toWrapped(state->argument(0));
</del><ins>+ auto objArg = JSTestObj::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "objArg", "TestObject", "overloadedMethod", "TestObj");
</span><span class="cx"> impl.overloadedMethod(*objArg);
</span><span class="lines">@@ -6493,7 +6493,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arrayArg = toNativeArray<String>(*state, state->argument(0));
</del><ins>+ auto arrayArg = toNativeArray<String>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(arrayArg));
</span><span class="lines">@@ -6513,7 +6513,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arrayArg = toNativeArray<uint32_t>(*state, state->argument(0));
</del><ins>+ auto arrayArg = toNativeArray<uint32_t>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(arrayArg));
</span><span class="lines">@@ -6533,7 +6533,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto strArg = state->argument(0).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.overloadedMethod(WTFMove(strArg));
</span><span class="lines">@@ -6615,7 +6615,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto strArg = state->argument(0).toWTFString(state);
</del><ins>+ auto strArg = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> TestObj* objArg = nullptr;
</span><span class="lines">@@ -6642,7 +6642,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> TestObj* objArg = nullptr;
</span><del>- if (!state->argument(0).isUndefinedOrNull()) {
</del><ins>+ if (!state->uncheckedArgument(0).isUndefinedOrNull()) {
</ins><span class="cx"> objArg = JSTestObj::toWrapped(state->uncheckedArgument(0));
</span><span class="cx"> if (UNLIKELY(!objArg))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "objArg", "TestObject", "overloadedMethodWithOptionalParameter", "TestObj");
</span><span class="lines">@@ -6718,7 +6718,7 @@
</span><span class="cx"> UNUSED_PARAM(throwScope);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arg = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto arg = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> TestObj::overloadedMethod1(WTFMove(arg));
</span><span class="lines">@@ -6735,7 +6735,7 @@
</span><span class="cx"> UNUSED_PARAM(throwScope);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto type = state->argument(0).toWTFString(state);
</del><ins>+ auto type = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> TestObj::overloadedMethod1(WTFMove(type));
</span><span class="lines">@@ -6778,10 +6778,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto objArgsShort = convert<uint16_t>(*state, state->argument(0), Clamp);
</del><ins>+ auto objArgsShort = convert<uint16_t>(*state, state->uncheckedArgument(0), Clamp);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArgsLong = convert<uint32_t>(*state, state->argument(1), Clamp);
</del><ins>+ auto objArgsLong = convert<uint32_t>(*state, state->uncheckedArgument(1), Clamp);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.classMethodWithClamp(WTFMove(objArgsShort), WTFMove(objArgsLong));
</span><span class="lines">@@ -6801,10 +6801,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto objArgsShort = convert<uint16_t>(*state, state->argument(0), EnforceRange);
</del><ins>+ auto objArgsShort = convert<uint16_t>(*state, state->uncheckedArgument(0), EnforceRange);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto objArgsLong = convert<uint32_t>(*state, state->argument(1), EnforceRange);
</del><ins>+ auto objArgsLong = convert<uint32_t>(*state, state->uncheckedArgument(1), EnforceRange);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.classMethodWithEnforceRange(WTFMove(objArgsShort), WTFMove(objArgsLong));
</span><span class="lines">@@ -6824,7 +6824,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto unsignedLongSequence = toNativeArray<uint32_t>(*state, state->argument(0));
</del><ins>+ auto unsignedLongSequence = toNativeArray<uint32_t>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.methodWithUnsignedLongSequence(WTFMove(unsignedLongSequence));
</span><span class="lines">@@ -6845,7 +6845,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto values = toNativeArray<String>(*state, state->argument(0));
</del><ins>+ auto values = toNativeArray<String>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsArray(state, castedThis->globalObject(), impl.stringArrayFunction(WTFMove(values), ec));
</span><span class="lines">@@ -6868,7 +6868,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto values = JSDOMStringList::toWrapped(state->argument(0));
</del><ins>+ auto values = JSDOMStringList::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!values))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "values", "TestObject", "domStringListFunction", "DOMStringList");
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.domStringListFunction(*values, ec));
</span><span class="lines">@@ -6890,10 +6890,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arrayArg = toNativeArray<uint32_t>(*state, state->argument(0));
</del><ins>+ auto arrayArg = toNativeArray<uint32_t>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto nullableArrayArg = toNativeArray<uint32_t>(*state, state->argument(1));
</del><ins>+ auto nullableArrayArg = toNativeArray<uint32_t>(*state, state->uncheckedArgument(1));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.methodWithAndWithoutNullableSequence(WTFMove(arrayArg), WTFMove(nullableArrayArg));
</span><span class="lines">@@ -6913,7 +6913,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto elementId = AtomicString(state->argument(0).toString(state)->toExistingAtomicString(state));
</del><ins>+ auto elementId = AtomicString(state->uncheckedArgument(0).toString(state)->toExistingAtomicString(state));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.getElementById(WTFMove(elementId)));
</span><span class="lines">@@ -6953,7 +6953,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto value = JSTestNode::toWrapped(state->argument(0));
</del><ins>+ auto value = JSTestNode::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!value))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "value", "TestObject", "convert1", "TestNode");
</span><span class="cx"> impl.convert1(*value);
</span><span class="lines">@@ -6974,7 +6974,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> TestNode* value = nullptr;
</span><del>- if (!state->argument(0).isUndefinedOrNull()) {
</del><ins>+ if (!state->uncheckedArgument(0).isUndefinedOrNull()) {
</ins><span class="cx"> value = JSTestNode::toWrapped(state->uncheckedArgument(0));
</span><span class="cx"> if (UNLIKELY(!value))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "value", "TestObject", "convert2", "TestNode");
</span><span class="lines">@@ -6996,7 +6996,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto value = state->argument(0).toWTFString(state);
</del><ins>+ auto value = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.convert3(WTFMove(value));
</span><span class="lines">@@ -7016,7 +7016,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto value = valueToStringWithUndefinedOrNullCheck(state, state->argument(0));
</del><ins>+ auto value = valueToStringWithUndefinedOrNullCheck(state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.convert4(WTFMove(value));
</span><span class="lines">@@ -7081,7 +7081,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto head = state->argument(0).toWTFString(state);
</del><ins>+ auto head = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto tail = toArguments<VariadicHelper<JSC::JSValue, String>>(*state, 1);
</span><span class="lines">@@ -7104,7 +7104,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto head = convert<double>(*state, state->argument(0), ShouldAllowNonFinite::Yes);
</del><ins>+ auto head = convert<double>(*state, state->uncheckedArgument(0), ShouldAllowNonFinite::Yes);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto tail = toArguments<VariadicHelper<JSC::JSValue, double>>(*state, 1);
</span><span class="lines">@@ -7127,7 +7127,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto head = JSNode::toWrapped(state->argument(0));
</del><ins>+ auto head = JSNode::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!head))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "head", "TestObject", "variadicNodeMethod", "Node");
</span><span class="cx"> auto tail = toArguments<VariadicHelper<JSNode, Node>>(*state, 1);
</span><span class="lines">@@ -7150,10 +7150,10 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto a = convert<float>(*state, state->argument(0), ShouldAllowNonFinite::Yes);
</del><ins>+ auto a = convert<float>(*state, state->uncheckedArgument(0), ShouldAllowNonFinite::Yes);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto b = convert<int32_t>(*state, state->argument(1), NormalConversion);
</del><ins>+ auto b = convert<int32_t>(*state, state->uncheckedArgument(1), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.any(WTFMove(a), WTFMove(b));
</span><span class="lines">@@ -7204,7 +7204,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto a = convert<float>(*state, state->argument(0), ShouldAllowNonFinite::No);
</del><ins>+ auto a = convert<float>(*state, state->uncheckedArgument(0), ShouldAllowNonFinite::No);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.testPromiseFunctionWithFloatArgument(WTFMove(a), WTFMove(promise));
</span><span class="lines">@@ -7283,7 +7283,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto a = convert<float>(*state, state->argument(0), ShouldAllowNonFinite::No);
</del><ins>+ auto a = convert<float>(*state, state->uncheckedArgument(0), ShouldAllowNonFinite::No);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.testPromiseOverloadedFunction(WTFMove(a), WTFMove(promise));
</span><span class="lines">@@ -7311,7 +7311,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto request = JSFetchRequest::toWrapped(state->argument(0));
</del><ins>+ auto request = JSFetchRequest::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!request))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "request", "TestObject", "testPromiseOverloadedFunction", "FetchRequest");
</span><span class="cx"> impl.testPromiseOverloadedFunction(*request, WTFMove(promise));
</span><span class="lines">@@ -7416,7 +7416,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto str = state->argument(0).toWTFString(state);
</del><ins>+ auto str = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.conditionalOverload(WTFMove(str));
</span><span class="lines">@@ -7439,7 +7439,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto a = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto a = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.conditionalOverload(WTFMove(a));
</span><span class="lines">@@ -7482,7 +7482,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto str = state->argument(0).toWTFString(state);
</del><ins>+ auto str = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.singleConditionalOverload(WTFMove(str));
</span><span class="lines">@@ -7503,7 +7503,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto a = convert<int32_t>(*state, state->argument(0), NormalConversion);
</del><ins>+ auto a = convert<int32_t>(*state, state->uncheckedArgument(0), NormalConversion);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.singleConditionalOverload(WTFMove(a));
</span><span class="lines">@@ -7542,7 +7542,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto init = convertDictionary<TestObj::Dictionary>(*state, state->argument(0));
</del><ins>+ auto init = convertDictionary<TestObj::Dictionary>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.attachShadowRoot(init.value());
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arrayBuffer = toArrayBuffer(state->argument(0));
</del><ins>+ auto arrayBuffer = toArrayBuffer(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> if (UNLIKELY(!arrayBuffer))
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arrayBufferView = toArrayBufferView(state->argument(0));
</del><ins>+ auto arrayBufferView = toArrayBufferView(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> if (UNLIKELY(!arrayBufferView))
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto blob = JSBlob::toWrapped(state->argument(0));
</del><ins>+ auto blob = JSBlob::toWrapped(state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(!blob))
</span><span class="cx"> return throwArgumentTypeError(*state, throwScope, 0, "blob", "TestOverloadedConstructors", nullptr, "Blob");
</span><span class="cx"> auto object = TestOverloadedConstructors::create(*blob);
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto string = state->argument(0).toWTFString(state);
</del><ins>+ auto string = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto object = TestOverloadedConstructors::create(WTFMove(string));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsWithSequencecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto string = state->argument(0).toWTFString(state);
</del><ins>+ auto string = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto object = TestOverloadedConstructorsWithSequence::create(WTFMove(string));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto name = state->argument(0).toWTFString(state);
</del><ins>+ auto name = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = toJS(state, castedThis->globalObject(), impl.namedItem(WTFMove(name)));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (206337 => 206338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-09-23 23:40:46 UTC (rev 206337)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-09-23 23:57:26 UTC (rev 206338)
</span><span class="lines">@@ -131,10 +131,10 @@
</span><span class="cx"> ASSERT(castedThis);
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 2))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto hello = state->argument(0).toWTFString(state);
</del><ins>+ auto hello = state->uncheckedArgument(0).toWTFString(state);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- if (UNLIKELY(!state->argument(1).isObject()))
</del><ins>+ if (UNLIKELY(!state->uncheckedArgument(1).isObject()))
</ins><span class="cx"> return throwArgumentMustBeFunctionError(*state, throwScope, 1, "testCallback", "TestTypedefs", nullptr);
</span><span class="cx"> auto testCallback = JSTestCallback::create(asObject(state->uncheckedArgument(1)), castedThis->globalObject());
</span><span class="cx"> auto object = TestTypedefs::create(WTFMove(hello), *testCallback);
</span><span class="lines">@@ -516,13 +516,13 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 3))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto width = convert<float>(*state, state->argument(0), ShouldAllowNonFinite::Yes);
</del><ins>+ auto width = convert<float>(*state, state->uncheckedArgument(0), ShouldAllowNonFinite::Yes);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto height = convert<float>(*state, state->argument(1), ShouldAllowNonFinite::Yes);
</del><ins>+ auto height = convert<float>(*state, state->uncheckedArgument(1), ShouldAllowNonFinite::Yes);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- auto blur = convert<float>(*state, state->argument(2), ShouldAllowNonFinite::Yes);
</del><ins>+ auto blur = convert<float>(*state, state->uncheckedArgument(2), ShouldAllowNonFinite::Yes);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto color = state->argument(3).isUndefined() ? String() : state->uncheckedArgument(3).toWTFString(state);
</span><span class="lines">@@ -548,7 +548,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto sequenceArg = toRefPtrNativeArray<SerializedScriptValue, JSSerializedScriptValue>(*state, state->argument(0));
</del><ins>+ auto sequenceArg = toRefPtrNativeArray<SerializedScriptValue, JSSerializedScriptValue>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsNumber(impl.methodWithSequenceArg(WTFMove(sequenceArg)));
</span><span class="lines">@@ -568,7 +568,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto sequenceArg = toNativeArray<String>(*state, state->argument(0));
</del><ins>+ auto sequenceArg = toNativeArray<String>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> impl.nullableSequenceArg(WTFMove(sequenceArg));
</span><span class="lines">@@ -588,7 +588,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto arg1 = convert<uint64_t>(*state, state->argument(0), Clamp);
</del><ins>+ auto arg1 = convert<uint64_t>(*state, state->uncheckedArgument(0), Clamp);
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> auto arg2 = state->argument(1).isUndefined() ? Optional<uint64_t>() : convert<uint64_t>(*state, state->uncheckedArgument(1), Clamp);
</span><span class="lines">@@ -627,7 +627,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto values = toNativeArray<String>(*state, state->argument(0));
</del><ins>+ auto values = toNativeArray<String>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsArray(state, castedThis->globalObject(), impl.stringSequenceFunction(WTFMove(values), ec));
</span><span class="lines">@@ -650,7 +650,7 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- auto values = toNativeArray<String>(*state, state->argument(0));
</del><ins>+ auto values = toNativeArray<String>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsArray(state, castedThis->globalObject(), impl.stringSequenceFunction2(WTFMove(values), ec));
</span><span class="lines">@@ -672,7 +672,7 @@
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>- auto sequenceArg = toRefPtrNativeArray<TestEventTarget, JSTestEventTarget>(*state, state->argument(0));
</del><ins>+ auto sequenceArg = toRefPtrNativeArray<TestEventTarget, JSTestEventTarget>(*state, state->uncheckedArgument(0));
</ins><span class="cx"> if (UNLIKELY(throwScope.exception()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> JSValue result = jsBoolean(impl.callWithSequenceThatRequiresInclude(WTFMove(sequenceArg)));
</span></span></pre>
</div>
</div>
</body>
</html>