Changeset 248105 in webkit


Ignore:
Timestamp:
Aug 1, 2019, 10:13:51 AM (6 years ago)
Author:
mark.lam@apple.com
Message:

Rename DOMJIT safe/unsafeFunction to functionWithTypeChecks and functionWithoutTypeChecks.
https://bugs.webkit.org/show_bug.cgi?id=200323

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

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.

Source/WebCore:

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.

Location:
trunk/Source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r248098 r248105  
     12019-07-31  Mark Lam  <mark.lam@apple.com>
     2
     3        Rename DOMJIT safe/unsafeFunction to functionWithTypeChecks and functionWithoutTypeChecks.
     4        https://bugs.webkit.org/show_bug.cgi?id=200323
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        The DOMJIT has a notion of a safeFunction and an unsafeFunction.  The safeFunction
     9        is effectively the same as the unsafeFunction with added type check.  The DFG/FTL
     10        will emit code to call the unsafeFunction if it has already emitted the needed
     11        type check or proven that it isn't needed.  Otherwise, the DFG/FTL will emit
     12        code to call the safeFunction (which does its own type check) instead.
     13
     14        This patch renames these functions to better describe their difference.
     15
     16        * dfg/DFGSpeculativeJIT.cpp:
     17        (JSC::DFG::SpeculativeJIT::compileCallDOM):
     18        * domjit/DOMJITSignature.h:
     19        (JSC::DOMJIT::Signature::Signature):
     20        * ftl/FTLLowerDFGToB3.cpp:
     21        (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM):
     22        * tools/JSDollarVM.cpp:
     23        (JSC::DOMJITFunctionObject::functionWithTypeCheck):
     24        (JSC::DOMJITFunctionObject::functionWithoutTypeCheck):
     25        (JSC::DOMJITFunctionObject::finishCreation):
     26        (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck):
     27        (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck):
     28        (JSC::DOMJITCheckSubClassObject::finishCreation):
     29        (JSC::DOMJITFunctionObject::safeFunction): Deleted.
     30        (JSC::DOMJITFunctionObject::unsafeFunction): Deleted.
     31        (JSC::DOMJITCheckSubClassObject::safeFunction): Deleted.
     32        (JSC::DOMJITCheckSubClassObject::unsafeFunction): Deleted.
     33
    1342019-07-31  Alex Christensen  <achristensen@webkit.org>
    235
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

    r247387 r248105  
    94159415
    94169416    flushRegisters();
    9417     assertIsTaggedWith(reinterpret_cast<void*>(signature->unsafeFunction), CFunctionPtrTag);
     9417    DOMJIT::FunctionWithoutTypeCheck function = signature->functionWithoutTypeCheck;
     9418    assertIsTaggedWith(function, CFunctionPtrTag);
    94189419    unsigned argumentCountIncludingThis = signature->argumentCount + 1;
    94199420    switch (argumentCountIncludingThis) {
    94209421    case 1:
    9421         callOperation(reinterpret_cast<J_JITOperation_EP>(signature->unsafeFunction), extractResult(resultRegs), regs[0]);
     9422        callOperation(reinterpret_cast<J_JITOperation_EP>(function), extractResult(resultRegs), regs[0]);
    94229423        break;
    94239424    case 2:
    9424         callOperation(reinterpret_cast<J_JITOperation_EPP>(signature->unsafeFunction), extractResult(resultRegs), regs[0], regs[1]);
     9425        callOperation(reinterpret_cast<J_JITOperation_EPP>(function), extractResult(resultRegs), regs[0], regs[1]);
    94259426        break;
    94269427    case 3:
    9427         callOperation(reinterpret_cast<J_JITOperation_EPPP>(signature->unsafeFunction), extractResult(resultRegs), regs[0], regs[1], regs[2]);
     9428        callOperation(reinterpret_cast<J_JITOperation_EPPP>(function), extractResult(resultRegs), regs[0], regs[1], regs[2]);
    94289429        break;
    94299430    default:
  • trunk/Source/JavaScriptCore/domjit/DOMJITSignature.h

    r242812 r248105  
    11/*
    2  * Copyright (C) 2016 Apple Inc. All rights reserved.
     2 * Copyright (C) 2016-2019 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3838#define JSC_DOMJIT_SIGNATURE_MAX_ARGUMENTS_INCLUDING_THIS (1 + JSC_DOMJIT_SIGNATURE_MAX_ARGUMENTS)
    3939
     40using FunctionWithoutTypeCheck = void (*)();
     41
    4042class Signature {
    4143public:
    4244    template<typename... Arguments>
    43     constexpr Signature(uintptr_t unsafeFunction, const ClassInfo* classInfo, Effect effect, SpeculatedType result, Arguments... arguments)
    44         : unsafeFunction(unsafeFunction)
     45    constexpr Signature(FunctionWithoutTypeCheck functionWithoutTypeCheck, const ClassInfo* classInfo, Effect effect, SpeculatedType result, Arguments... arguments)
     46        : functionWithoutTypeCheck(functionWithoutTypeCheck)
    4547        , classInfo(classInfo)
    4648        , result(result)
     
    5153    }
    5254
    53     uintptr_t unsafeFunction;
     55    FunctionWithoutTypeCheck functionWithoutTypeCheck;
    5456    const ClassInfo* const classInfo;
    5557    const SpeculatedType result;
  • trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

    r247387 r248105  
    1258212582        unsigned argumentCountIncludingThis = signature->argumentCount + 1;
    1258312583        LValue result;
    12584         assertIsTaggedWith(reinterpret_cast<void*>(signature->unsafeFunction), CFunctionPtrTag);
     12584        DOMJIT::FunctionWithoutTypeCheck function = signature->functionWithoutTypeCheck;
     12585        assertIsTaggedWith(function, CFunctionPtrTag);
    1258512586        switch (argumentCountIncludingThis) {
    1258612587        case 1:
    12587             result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EP>(signature->unsafeFunction)), m_callFrame, operands[0]);
     12588            result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EP>(function)), m_callFrame, operands[0]);
    1258812589            break;
    1258912590        case 2:
    12590             result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPP>(signature->unsafeFunction)), m_callFrame, operands[0], operands[1]);
     12591            result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPP>(function)), m_callFrame, operands[0], operands[1]);
    1259112592            break;
    1259212593        case 3:
    12593             result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPPP>(signature->unsafeFunction)), m_callFrame, operands[0], operands[1], operands[2]);
     12594            result = vmCall(Int64, m_out.operation(reinterpret_cast<J_JITOperation_EPPP>(function)), m_callFrame, operands[0], operands[1], operands[2]);
    1259412595            break;
    1259512596        default:
  • trunk/Source/JavaScriptCore/tools/JSDollarVM.cpp

    r247925 r248105  
    11/*
    2  * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
     2 * Copyright (C) 2015-2019 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    788788    }
    789789
    790     static EncodedJSValue JSC_HOST_CALL safeFunction(ExecState* exec)
     790    static EncodedJSValue JSC_HOST_CALL functionWithTypeCheck(ExecState* exec)
    791791    {
    792792        VM& vm = exec->vm();
     
    799799    }
    800800
    801     static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
     801    static EncodedJSValue JIT_OPERATION functionWithoutTypeCheck(ExecState* exec, DOMJITNode* node)
    802802    {
    803803        VM& vm = exec->vm();
     
    827827};
    828828
    829 static const DOMJIT::Signature DOMJITFunctionObjectSignature((uintptr_t)DOMJITFunctionObject::unsafeFunction, DOMJITFunctionObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
     829static const DOMJIT::Signature DOMJITFunctionObjectSignature((DOMJIT::FunctionWithoutTypeCheck)DOMJITFunctionObject::functionWithoutTypeCheck, DOMJITFunctionObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
    830830
    831831void DOMJITFunctionObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
    832832{
    833833    Base::finishCreation(vm);
    834     putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITFunctionObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
     834    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, functionWithTypeCheck, NoIntrinsic, &DOMJITFunctionObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
    835835}
    836836
     
    859859    }
    860860
    861     static EncodedJSValue JSC_HOST_CALL safeFunction(ExecState* exec)
     861    static EncodedJSValue JSC_HOST_CALL functionWithTypeCheck(ExecState* exec)
    862862    {
    863863        VM& vm = exec->vm();
     
    870870    }
    871871
    872     static EncodedJSValue JIT_OPERATION unsafeFunction(ExecState* exec, DOMJITNode* node)
     872    static EncodedJSValue JIT_OPERATION functionWithoutTypeCheck(ExecState* exec, DOMJITNode* node)
    873873    {
    874874        VM& vm = exec->vm();
     
    881881};
    882882
    883 static const DOMJIT::Signature DOMJITCheckSubClassObjectSignature((uintptr_t)DOMJITCheckSubClassObject::unsafeFunction, DOMJITCheckSubClassObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
     883static const DOMJIT::Signature DOMJITCheckSubClassObjectSignature((DOMJIT::FunctionWithoutTypeCheck)DOMJITCheckSubClassObject::functionWithoutTypeCheck, DOMJITCheckSubClassObject::info(), DOMJIT::Effect::forRead(DOMJIT::HeapRange::top()), SpecInt32Only);
    884884
    885885void DOMJITCheckSubClassObject::finishCreation(VM& vm, JSGlobalObject* globalObject)
    886886{
    887887    Base::finishCreation(vm);
    888     putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, safeFunction, NoIntrinsic, &DOMJITCheckSubClassObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
     888    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&vm, "func"), 0, functionWithTypeCheck, NoIntrinsic, &DOMJITCheckSubClassObjectSignature, static_cast<unsigned>(PropertyAttribute::ReadOnly));
    889889}
    890890
  • trunk/Source/WebCore/ChangeLog

    r248102 r248105  
     12019-07-31  Mark Lam  <mark.lam@apple.com>
     2
     3        Rename DOMJIT safe/unsafeFunction to functionWithTypeChecks and functionWithoutTypeChecks.
     4        https://bugs.webkit.org/show_bug.cgi?id=200323
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        No new tests.  This is just a refactoring exercise.
     9
     10        * bindings/scripts/CodeGeneratorJS.pm:
     11        (GetArgumentTypeForFunctionWithoutTypeCheck):
     12        (GenerateImplementation):
     13        (GenerateOperationDefinition):
     14        (ToNativeForFunctionWithoutTypeCheck):
     15        (GetUnsafeArgumentType): Deleted.
     16        (UnsafeToNative): Deleted.
     17        * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
     18        (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck):
     19        (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck):
     20        (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck):
     21        (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck):
     22        (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck):
     23        (WebCore::unsafeJsTestDOMJITPrototypeFunctionGetAttribute): Deleted.
     24        (WebCore::unsafeJsTestDOMJITPrototypeFunctionItem): Deleted.
     25        (WebCore::unsafeJsTestDOMJITPrototypeFunctionHasAttribute): Deleted.
     26        (WebCore::unsafeJsTestDOMJITPrototypeFunctionGetElementById): Deleted.
     27        (WebCore::unsafeJsTestDOMJITPrototypeFunctionGetElementsByName): Deleted.
     28
    1292019-08-01  Carlos Garcia Campos  <cgarcia@igalia.com>
    230
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r247278 r248105  
    38193819}
    38203820
    3821 sub GetUnsafeArgumentType
     3821sub GetArgumentTypeForFunctionWithoutTypeCheck
    38223822{
    38233823    my ($interface, $type) = @_;
     
    39433943            if ($operation->extendedAttributes->{DOMJIT}) {
    39443944                $implIncludes{"DOMJITIDLType.h"} = 1;
    3945                 my $unsafeFunctionName = "unsafe" . $codeGenerator->WK_ucfirst($functionName);
    3946                 my $functionSignature = "JSC::EncodedJSValue JIT_OPERATION ${unsafeFunctionName}(JSC::ExecState*, $className*";
     3945                my $nameOfFunctionWithoutTypeCheck = $codeGenerator->WK_lcfirst($functionName) . "WithoutTypeCheck";
     3946                my $functionSignature = "JSC::EncodedJSValue JIT_OPERATION ${nameOfFunctionWithoutTypeCheck}(JSC::ExecState*, $className*";
    39473947                foreach my $argument (@{$operation->arguments}) {
    39483948                    my $type = $argument->type;
    3949                     my $argumentType = GetUnsafeArgumentType($interface, $type);
     3949                    my $argumentType = GetArgumentTypeForFunctionWithoutTypeCheck($interface, $type);
    39503950                    $functionSignature .= ", ${argumentType}";
    39513951                }
     
    40064006            my $interfaceName = $interface->type->name;
    40074007            my $functionName = GetFunctionName($interface, $className, $operation);
    4008             my $unsafeFunctionName = "unsafe" . $codeGenerator->WK_ucfirst($functionName);
     4008            my $nameOfFunctionWithoutTypeCheck = $codeGenerator->WK_lcfirst($functionName) . "WithoutTypeCheck";
    40094009            my $domJITSignatureName = "DOMJITSignatureFor" . $interface->type->name . $codeGenerator->WK_ucfirst($operation->name);
    40104010            my $classInfo = "JS" . $interface->type->name . "::info()";
    40114011            my $resultType = GetResultTypeFilter($interface, $operation->type);
    4012             my $domJITSignatureHeader = "static const JSC::DOMJIT::Signature ${domJITSignatureName}((uintptr_t)${unsafeFunctionName},";
     4012            my $domJITSignatureHeader = "static const JSC::DOMJIT::Signature ${domJITSignatureName}((JSC::DOMJIT::FunctionWithoutTypeCheck)${nameOfFunctionWithoutTypeCheck},";
    40134013            my $domJITSignatureFooter = "$classInfo, JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), ${resultType}";
    40144014            foreach my $argument (@{$operation->arguments}) {
     
    52915291
    52925292        AddToImplIncludes("<JavaScriptCore/FrameTracers.h>", $conditional);
    5293         my $unsafeFunctionName = "unsafe" . $codeGenerator->WK_ucfirst($functionName);
    5294         push(@$outputArray, "JSC::EncodedJSValue JIT_OPERATION ${unsafeFunctionName}(JSC::ExecState* state, $className* castedThis");
     5293        my $nameOfFunctionWithoutTypeCheck = $codeGenerator->WK_lcfirst($functionName) . "WithoutTypeCheck";
     5294        push(@$outputArray, "JSC::EncodedJSValue JIT_OPERATION ${nameOfFunctionWithoutTypeCheck}(JSC::ExecState* state, $className* castedThis");
    52955295        foreach my $argument (@{$operation->arguments}) {
    52965296            my $type = $argument->type;
    5297             my $argumentType = GetUnsafeArgumentType($interface, $type);
     5297            my $argumentType = GetArgumentTypeForFunctionWithoutTypeCheck($interface, $type);
    52985298            my $name = $argument->name;
    52995299            my $encodedName = "encoded" . $codeGenerator->WK_ucfirst($name);
     
    53215321            my $shouldPassByReference = ShouldPassArgumentByReference($argument);
    53225322
    5323             my ($nativeValue, $mayThrowException) = UnsafeToNative($interface, $argument, $encodedName, $operation->extendedAttributes->{Conditional});
     5323            my ($nativeValue, $mayThrowException) = ToNativeForFunctionWithoutTypeCheck($interface, $argument, $encodedName, $operation->extendedAttributes->{Conditional});
    53245324            push(@$outputArray, "    auto $name = ${nativeValue};\n");
    53255325            push(@$outputArray, "    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n") if $mayThrowException;
     
    66106610}
    66116611
    6612 sub UnsafeToNative
     6612sub ToNativeForFunctionWithoutTypeCheck
    66136613{
    66146614    my ($interface, $context, $value, $conditional, $statePointer, $stateReference, $thisObjectReference) = @_;
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp

    r246780 r248105  
    5656
    5757JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState*);
    58 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLDOMString>);
     58JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLDOMString>);
    5959JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionItem(JSC::ExecState*);
    60 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionItem(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>);
     60JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>, DOMJIT::IDLJSArgumentType<IDLUnsignedShort>);
    6161JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState*);
    62 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState*, JSTestDOMJIT*);
     62JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*);
    6363JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState*);
    64 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>);
     64JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>);
    6565JSC::EncodedJSValue JSC_HOST_CALL jsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState*);
    66 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>>);
     66JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck(JSC::ExecState*, JSTestDOMJIT*, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>>);
    6767
    6868// Attributes
     
    106106JSC::EncodedJSValue jsTestDOMJITNodeNullableAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
    107107
    108 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);
    109 
    110 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);
    111 
    112 static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((uintptr_t)unsafeJsTestDOMJITPrototypeFunctionHasAttribute, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
    113 
    114 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);
    115 
    116 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);
     108static 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);
     109
     110static 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);
     111
     112static const JSC::DOMJIT::Signature DOMJITSignatureForTestDOMJITHasAttribute((JSC::DOMJIT::FunctionWithoutTypeCheck)jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck, JSTestDOMJIT::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLBoolean>::value);
     113
     114static 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);
     115
     116static 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);
    117117
    118118static const JSC::DOMJIT::GetterSetter DOMJITAttributeForTestDOMJITAnyAttr {
     
    11311131}
    11321132
    1133 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLDOMString> encodedName)
     1133JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLDOMString> encodedName)
    11341134{
    11351135    UNUSED_PARAM(state);
     
    11631163}
    11641164
    1165 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionItem(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedX, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedY)
     1165JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedX, DOMJIT::IDLJSArgumentType<IDLUnsignedShort> encodedY)
    11661166{
    11671167    UNUSED_PARAM(state);
     
    11911191}
    11921192
    1193 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState* state, JSTestDOMJIT* castedThis)
     1193JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis)
    11941194{
    11951195    UNUSED_PARAM(state);
     
    12191219}
    12201220
    1221 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>> encodedElementId)
     1221JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>> encodedElementId)
    12221222{
    12231223    UNUSED_PARAM(state);
     
    12491249}
    12501250
    1251 JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>> encodedElementName)
     1251JSC::EncodedJSValue JIT_OPERATION jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType<IDLAtomStringAdaptor<IDLDOMString>> encodedElementName)
    12521252{
    12531253    UNUSED_PARAM(state);
Note: See TracChangeset for help on using the changeset viewer.