Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (248104 => 248105)
--- trunk/Source/_javascript_Core/ChangeLog 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/_javascript_Core/ChangeLog 2019-08-01 17:13:51 UTC (rev 248105)
@@ -1,3 +1,36 @@
+2019-07-31 Mark Lam <mark....@apple.com>
+
+ Rename DOMJIT safe/unsafeFunction to functionWithTypeChecks and functionWithoutTypeChecks.
+ https://bugs.webkit.org/show_bug.cgi?id=200323
+
+ Reviewed by Yusuke Suzuki.
+
+ The DOMJIT has a notion of a safeFunction and an unsafeFunction. The safeFunction
+ is effectively the same as the unsafeFunction with added type check. The DFG/FTL
+ will emit code to call the unsafeFunction if it has already emitted the needed
+ type check or proven that it isn't needed. Otherwise, the DFG/FTL will emit
+ code to call the safeFunction (which does its own type check) instead.
+
+ This patch renames these functions to better describe their difference.
+
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compileCallDOM):
+ * domjit/DOMJITSignature.h:
+ (JSC::DOMJIT::Signature::Signature):
+ * ftl/FTLLowerDFGToB3.cpp:
+ (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM):
+ * tools/JSDollarVM.cpp:
+ (JSC::DOMJITFunctionObject::functionWithTypeCheck):
+ (JSC::DOMJITFunctionObject::functionWithoutTypeCheck):
+ (JSC::DOMJITFunctionObject::finishCreation):
+ (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck):
+ (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck):
+ (JSC::DOMJITCheckSubClassObject::finishCreation):
+ (JSC::DOMJITFunctionObject::safeFunction): Deleted.
+ (JSC::DOMJITFunctionObject::unsafeFunction): Deleted.
+ (JSC::DOMJITCheckSubClassObject::safeFunction): Deleted.
+ (JSC::DOMJITCheckSubClassObject::unsafeFunction): Deleted.
+
2019-07-31 Alex Christensen <achristen...@webkit.org>
Begin organizing b3 tests
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (248104 => 248105)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2019-08-01 17:13:51 UTC (rev 248105)
@@ -9414,17 +9414,18 @@
JSValueRegs resultRegs = result.regs();
flushRegisters();
- assertIsTaggedWith(reinterpret_cast<void*>(signature->unsafeFunction), CFunctionPtrTag);
+ DOMJIT::FunctionWithoutTypeCheck function = signature->functionWithoutTypeCheck;
+ assertIsTaggedWith(function, CFunctionPtrTag);
unsigned argumentCountIncludingThis = signature->argumentCount + 1;
switch (argumentCountIncludingThis) {
case 1:
- callOperation(reinterpret_cast<J_JITOperation_EP>(signature->unsafeFunction), extractResult(resultRegs), regs[0]);
+ callOperation(reinterpret_cast<J_JITOperation_EP>(function), extractResult(resultRegs), regs[0]);
break;
case 2:
- callOperation(reinterpret_cast<J_JITOperation_EPP>(signature->unsafeFunction), extractResult(resultRegs), regs[0], regs[1]);
+ callOperation(reinterpret_cast<J_JITOperation_EPP>(function), extractResult(resultRegs), regs[0], regs[1]);
break;
case 3:
- callOperation(reinterpret_cast<J_JITOperation_EPPP>(signature->unsafeFunction), extractResult(resultRegs), regs[0], regs[1], regs[2]);
+ callOperation(reinterpret_cast<J_JITOperation_EPPP>(function), extractResult(resultRegs), regs[0], regs[1], regs[2]);
break;
default:
RELEASE_ASSERT_NOT_REACHED();
Modified: trunk/Source/_javascript_Core/domjit/DOMJITSignature.h (248104 => 248105)
--- trunk/Source/_javascript_Core/domjit/DOMJITSignature.h 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/_javascript_Core/domjit/DOMJITSignature.h 2019-08-01 17:13:51 UTC (rev 248105)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2016-2019 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,11 +37,13 @@
#define JSC_DOMJIT_SIGNATURE_MAX_ARGUMENTS 2
#define JSC_DOMJIT_SIGNATURE_MAX_ARGUMENTS_INCLUDING_THIS (1 + JSC_DOMJIT_SIGNATURE_MAX_ARGUMENTS)
+using FunctionWithoutTypeCheck = void (*)();
+
class Signature {
public:
template<typename... Arguments>
- constexpr Signature(uintptr_t unsafeFunction, const ClassInfo* classInfo, Effect effect, SpeculatedType result, Arguments... arguments)
- : unsafeFunction(unsafeFunction)
+ constexpr Signature(FunctionWithoutTypeCheck functionWithoutTypeCheck, const ClassInfo* classInfo, Effect effect, SpeculatedType result, Arguments... arguments)
+ : functionWithoutTypeCheck(functionWithoutTypeCheck)
, classInfo(classInfo)
, result(result)
, arguments {static_cast<SpeculatedType>(arguments)...}
@@ -50,7 +52,7 @@
{
}
- uintptr_t unsafeFunction;
+ FunctionWithoutTypeCheck functionWithoutTypeCheck;
const ClassInfo* const classInfo;
const SpeculatedType result;
const SpeculatedType arguments[JSC_DOMJIT_SIGNATURE_MAX_ARGUMENTS];
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp (248104 => 248105)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2019-08-01 17:13:51 UTC (rev 248105)
@@ -12581,16 +12581,17 @@
unsigned argumentCountIncludingThis = signature->argumentCount + 1;
LValue result;
- assertIsTaggedWith(reinterpret_cast<void*>(signature->unsafeFunction), CFunctionPtrTag);
+ DOMJIT::FunctionWithoutTypeCheck function = signature->functionWithoutTypeCheck;
+ assertIsTaggedWith(function, CFunctionPtrTag);
switch (argumentCountIncludingThis) {
case 1:
- result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EP>(signature->unsafeFunction)), m_callFrame, operands[0]);
+ result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EP>(function)), m_callFrame, operands[0]);
break;
case 2:
- result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPP>(signature->unsafeFunction)), m_callFrame, operands[0], operands[1]);
+ result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPP>(function)), m_callFrame, operands[0], operands[1]);
break;
case 3:
- result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPPP>(signature->unsafeFunction)), m_callFrame, operands[0], operands[1], operands[2]);
+ result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPPP>(function)), m_callFrame, operands[0], operands[1], operands[2]);
break;
default:
RELEASE_ASSERT_NOT_REACHED();
Modified: trunk/Source/_javascript_Core/tools/JSDollarVM.cpp (248104 => 248105)
--- trunk/Source/_javascript_Core/tools/JSDollarVM.cpp 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/_javascript_Core/tools/JSDollarVM.cpp 2019-08-01 17:13:51 UTC (rev 248105)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
+ * Copyright (C) 2015-2019 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -787,7 +787,7 @@
return object;
}
- static EncodedJSValue JSC_HOST_CALL safeFunction(ExecState* exec)
+ static EncodedJSValue JSC_HOST_CALL functionWithTypeCheck(ExecState* exec)
{
VM& vm = exec->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
@@ -798,7 +798,7 @@
return JSValue::encode(jsNumber(thisObject->value()));
}
- static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
+ static EncodedJSValue JIT_OPERATION functionWithoutTypeCheck(ExecState* exec, DOMJITNode* node)
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
@@ -826,12 +826,12 @@
void finishCreation(VM&, JSGlobalObject*);
};
-static const DOMJIT::Signature DOMJITFunctionObjectSignature((uintptr_t)DOMJITFunctionObject::unsafeFunction, DOMJITFunctionObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
+static const DOMJIT::Signature DOMJITFunctionObjectSignature((DOMJIT::FunctionWithoutTypeCheck)DOMJITFunctionObject::functionWithoutTypeCheck, DOMJITFunctionObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
void DOMJITFunctionObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
{
Base::finishCreation(vm);
- putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITFunctionObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
+ putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, functionWithTypeCheck, NoIntrinsic, &DOMJITFunctionObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
}
class DOMJITCheckSubClassObject : public DOMJITNode {
@@ -858,7 +858,7 @@
return object;
}
- static EncodedJSValue JSC_HOST_CALL safeFunction(ExecState* exec)
+ static EncodedJSValue JSC_HOST_CALL functionWithTypeCheck(ExecState* exec)
{
VM& vm = exec->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
@@ -869,7 +869,7 @@
return JSValue::encode(jsNumber(thisObject->value()));
}
- static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
+ static EncodedJSValue JIT_OPERATION functionWithoutTypeCheck(ExecState* exec, DOMJITNode* node)
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
@@ -880,12 +880,12 @@
void finishCreation(VM&, JSGlobalObject*);
};
-static const DOMJIT::Signature DOMJITCheckSubClassObjectSignature((uintptr_t)DOMJITCheckSubClassObject::unsafeFunction, DOMJITCheckSubClassObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
+static const DOMJIT::Signature DOMJITCheckSubClassObjectSignature((DOMJIT::FunctionWithoutTypeCheck)DOMJITCheckSubClassObject::functionWithoutTypeCheck, DOMJITCheckSubClassObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
void DOMJITCheckSubClassObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
{
Base::finishCreation(vm);
- putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITCheckSubClassObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
+ putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, functionWithTypeCheck, NoIntrinsic, &DOMJITCheckSubClassObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
}
class DOMJITGetterBaseJSObject : public DOMJITNode {
Modified: trunk/Source/WebCore/ChangeLog (248104 => 248105)
--- trunk/Source/WebCore/ChangeLog 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/WebCore/ChangeLog 2019-08-01 17:13:51 UTC (rev 248105)
@@ -1,3 +1,31 @@
+2019-07-31 Mark Lam <mark....@apple.com>
+
+ Rename DOMJIT safe/unsafeFunction to functionWithTypeChecks and functionWithoutTypeChecks.
+ https://bugs.webkit.org/show_bug.cgi?id=200323
+
+ Reviewed by Yusuke Suzuki.
+
+ No new tests. This is just a refactoring exercise.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GetArgumentTypeForFunctionWithoutTypeCheck):
+ (GenerateImplementation):
+ (GenerateOperationDefinition):
+ (ToNativeForFunctionWithoutTypeCheck):
+ (GetUnsafeArgumentType): Deleted.
+ (UnsafeToNative): Deleted.
+ * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
+ (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck):
+ (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck):
+ (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck):
+ (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck):
+ (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck):
+ (WebCore::unsafeJsTestDOMJITPrototypeFunctionGetAttribute): Deleted.
+ (WebCore::unsafeJsTestDOMJITPrototypeFunctionItem): Deleted.
+ (WebCore::unsafeJsTestDOMJITPrototypeFunctionHasAttribute): Deleted.
+ (WebCore::unsafeJsTestDOMJITPrototypeFunctionGetElementById): Deleted.
+ (WebCore::unsafeJsTestDOMJITPrototypeFunctionGetElementsByName): Deleted.
+
2019-08-01 Carlos Garcia Campos <cgar...@igalia.com>
[SOUP] WebSockets: add support for extensions when using web sockets libsoup API
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (248104 => 248105)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2019-08-01 17:13:51 UTC (rev 248105)
@@ -3818,7 +3818,7 @@
push(@implContent, " putDirectWithoutTransition(vm, vm.propertyNames->unscopablesSymbol, &unscopables, JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::ReadOnly);\n");
}
-sub GetUnsafeArgumentType
+sub GetArgumentTypeForFunctionWithoutTypeCheck
{
my ($interface, $type) = @_;
@@ -3942,11 +3942,11 @@
push(@implContent, "JSC::EncodedJSValue JSC_HOST_CALL ${functionName}(JSC::ExecState*);\n");
if ($operation->extendedAttributes->{DOMJIT}) {
$implIncludes{"DOMJITIDLType.h"} = 1;
- my $unsafeFunctionName = "unsafe" . $codeGenerator->WK_ucfirst($functionName);
- my $functionSignature = "JSC::EncodedJSValue JIT_OPERATION ${unsafeFunctionName}(JSC::ExecState*, $className*";
+ my $nameOfFunctionWithoutTypeCheck = $codeGenerator->WK_lcfirst($functionName) . "WithoutTypeCheck";
+ my $functionSignature = "JSC::EncodedJSValue JIT_OPERATION ${nameOfFunctionWithoutTypeCheck}(JSC::ExecState*, $className*";
foreach my $argument (@{$operation->arguments}) {
my $type = $argument->type;
- my $argumentType = GetUnsafeArgumentType($interface, $type);
+ my $argumentType = GetArgumentTypeForFunctionWithoutTypeCheck($interface, $type);
$functionSignature .= ", ${argumentType}";
}
push(@implContent, $functionSignature . ");\n");
@@ -4005,11 +4005,11 @@
my $interfaceName = $interface->type->name;
my $functionName = GetFunctionName($interface, $className, $operation);
- my $unsafeFunctionName = "unsafe" . $codeGenerator->WK_ucfirst($functionName);
+ my $nameOfFunctionWithoutTypeCheck = $codeGenerator->WK_lcfirst($functionName) . "WithoutTypeCheck";
my $domJITSignatureName = "DOMJITSignatureFor" . $interface->type->name . $codeGenerator->WK_ucfirst($operation->name);
my $classInfo = "JS" . $interface->type->name . "::info()";
my $resultType = GetResultTypeFilter($interface, $operation->type);
- my $domJITSignatureHeader = "static const JSC::DOMJIT::Signature ${domJITSignatureName}((uintptr_t)${unsafeFunctionName},";
+ my $domJITSignatureHeader = "static const JSC::DOMJIT::Signature ${domJITSignatureName}((JSC::DOMJIT::FunctionWithoutTypeCheck)${nameOfFunctionWithoutTypeCheck},";
my $domJITSignatureFooter = "$classInfo, JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), ${resultType}";
foreach my $argument (@{$operation->arguments}) {
my $type = $argument->type;
@@ -5290,11 +5290,11 @@
}
AddToImplIncludes("<_javascript_Core/FrameTracers.h>", $conditional);
- my $unsafeFunctionName = "unsafe" . $codeGenerator->WK_ucfirst($functionName);
- push(@$outputArray, "JSC::EncodedJSValue JIT_OPERATION ${unsafeFunctionName}(JSC::ExecState* state, $className* castedThis");
+ my $nameOfFunctionWithoutTypeCheck = $codeGenerator->WK_lcfirst($functionName) . "WithoutTypeCheck";
+ push(@$outputArray, "JSC::EncodedJSValue JIT_OPERATION ${nameOfFunctionWithoutTypeCheck}(JSC::ExecState* state, $className* castedThis");
foreach my $argument (@{$operation->arguments}) {
my $type = $argument->type;
- my $argumentType = GetUnsafeArgumentType($interface, $type);
+ my $argumentType = GetArgumentTypeForFunctionWithoutTypeCheck($interface, $type);
my $name = $argument->name;
my $encodedName = "encoded" . $codeGenerator->WK_ucfirst($name);
push(@$outputArray, ", ${argumentType} ${encodedName}");
@@ -5320,7 +5320,7 @@
my $encodedName = "encoded" . $codeGenerator->WK_ucfirst($name);
my $shouldPassByReference = ShouldPassArgumentByReference($argument);
- my ($nativeValue, $mayThrowException) = UnsafeToNative($interface, $argument, $encodedName, $operation->extendedAttributes->{Conditional});
+ my ($nativeValue, $mayThrowException) = ToNativeForFunctionWithoutTypeCheck($interface, $argument, $encodedName, $operation->extendedAttributes->{Conditional});
push(@$outputArray, " auto $name = ${nativeValue};\n");
push(@$outputArray, " RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n") if $mayThrowException;
$value = "WTFMove($name)";
@@ -6609,7 +6609,7 @@
return "convert<$IDLType>(" . join(", ", @conversionArguments) . ")";
}
-sub UnsafeToNative
+sub ToNativeForFunctionWithoutTypeCheck
{
my ($interface, $context, $value, $conditional, $statePointer, $stateReference, $thisObjectReference) = @_;
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp (248104 => 248105)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp 2019-08-01 16:17:56 UTC (rev 248104)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp 2019-08-01 17:13:51 UTC (rev 248105)
@@ -55,15 +55,15 @@
// Functions
JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState*);
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLDOMString>);
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLDOMString>);
JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionItem(JSC::ExecState*);
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionItem(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>);
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>);
JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState*);
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState*, JSTestDOMJIT*);
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*);
JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState*);
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>);
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>);
JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState*);
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>>);
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>>);
// Attributes
@@ -105,15 +105,15 @@
JSC::EncodedJSValue jsTestDOMJITUsvStringNullableAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestDOMJITNodeNullableAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
-static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetAttribute, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetAttribute((JSC::DOMJIT::FunctionWithoutTypeCheck)jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLDOMString>>::value, DOMJIT::IDLArgumentTypeFilter<IDLDOMString>::value);
-static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionItem, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITItem((JSC::DOMJIT::FunctionWithoutTypeCheck)jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLDOMString>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value, DOMJIT::IDLArgumentTypeFilter<IDLUnsignedShort>::value);
-static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((JSC::DOMJIT::FunctionWithoutTypeCheck)jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
-static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementById, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::value);
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementById((JSC::DOMJIT::FunctionWithoutTypeCheck)jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<Element>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::value);
-static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionGetElementsByName, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLAtomStringAdaptor<IDLDOMString>>::value);
+static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITGetElementsByName((JSC::DOMJIT::FunctionWithoutTypeCheck)jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLInterface<NodeList>>::value, DOMJIT::IDLArgumentTypeFilter<IDLAtomStringAdaptor<IDLDOMString>>::value);
static const JSC::DOMJIT::GetterSetter DOMJITAttributeForTestDOMJITAnyAttr {
jsTestDOMJITAnyAttr,
@@ -1130,7 +1130,7 @@
return IDLOperation<JSTestDOMJIT>::call<jsTestDOMJITPrototypeFunctionGetAttributeBody>(*state, "getAttribute");
}
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLDOMString> encodedName)
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLDOMString> encodedName)
{
UNUSED_PARAM(state);
VM& vm = state->vm();
@@ -1162,7 +1162,7 @@
return IDLOperation<JSTestDOMJIT>::call<jsTestDOMJITPrototypeFunctionItemBody>(*state, "item");
}
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionItem(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedX, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedY)
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedX, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedY)
{
UNUSED_PARAM(state);
VM& vm = state->vm();
@@ -1190,7 +1190,7 @@
return IDLOperation<JSTestDOMJIT>::call<jsTestDOMJITPrototypeFunctionHasAttributeBody>(*state, "hasAttribute");
}
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState* state, JSTestDOMJIT* castedThis)
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis)
{
UNUSED_PARAM(state);
VM& vm = state->vm();
@@ -1218,7 +1218,7 @@
return IDLOperation<JSTestDOMJIT>::call<jsTestDOMJITPrototypeFunctionGetElementByIdBody>(*state, "getElementById");
}
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>> encodedElementId)
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>> encodedElementId)
{
UNUSED_PARAM(state);
VM& vm = state->vm();
@@ -1248,7 +1248,7 @@
return IDLOperation<JSTestDOMJIT>::call<jsTestDOMJITPrototypeFunctionGetElementsByNameBody>(*state, "getElementsByName");
}
-JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>> encodedElementName)
+JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>> encodedElementName)
{
UNUSED_PARAM(state);
VM& vm = state->vm();